你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux网络属性配置详解

[日期:2017-03-20] 来源:Linux社区  作者:xuweitao [字体: ]

ss命令:

    用于获取socket统计信息等,功能大致与netsata相同,ss工具是用于取代netstat的,因为很多用法相同;相比netstat而言,ss命令主要在选项上多支持了-o和-m选项,并且支持过滤功能;此外,在网络连接数量众多时,ss命令的执行性能要比netstat高得多。

语法格式:

    ss [options] [ FILTER ]

    其中,FILTER := [ state TCP-STATE ] [ EXPRESSION ],表示过滤条件;

EXPRESSION:

    dport = :目的端口;

    sport = :源端口;

常用选项:

    -t:显示tcp相关的连接;

    -u:显示udp相关的连接;

    -w:显示raw socket相关的连接;

    -a:显示所有状态的连接;

    -l:显示处于监听状态的连接;

    -n:以数字格式显示IP和Port;

    -p:显示相应的进程及其PID;

    -e:以长格式显示;

    -m:显示内存用量;

    -o:显示计数器信息;

示例:

显示源端口为22或目标端口为22的tcp连接:

[root@localhost ~]# ss  -tan  '(  dport  =  :22  or  sport  = :22  )'
State       Recv-Q Send-Q           Local Address:Port                Peer Address:Port
LISTEN      0      128                        *:22                               *:*
ESTAB       0      52              10.10.10.140:22                      10.10.10.1:56108
LISTEN      0      128                       :::22                              :::*

显示连接状态为ESTABLISHED的连接:

[root@localhost ~]# ss -tan state established
Recv-Q Send-Q        Local Address:Port                     Peer Address:Port             
0      52              10.10.10.140:22                       10.10.10.1:56108

以上为iproute家族命令的介绍。此外,还可指定本地主机名以及DNS服务器的地址:

(1)DNS服务器的指定:

    配置文件:/etc/resolv.conf

用法示例:

添加DNS服务器地址:114.114.114.114:

[root@localhost ~]# vim /etc/resolv.conf
nameserver 114.114.114.114

测试配置的DNS指向是否有效:

    测试工具:dig/nslookup/host

①dig工具:

用法:

    dig -t A FQDN:由FQDN解析出IP地址;(FQDN即为主机名)

    dig -x IP:由IP地址反解出FQDN;

用法示例:

由FQDN解析出IP地址:

[root@localhost ~]# dig -t A public1.114dns.com.
 
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A public1.114dns.com.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64858
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;public1.114dns.com.        IN  A
 
;; ANSWER SECTION:
public1.114dns.com. 441 IN  A  114.114.114.114    #解出地址,说明该DNS
服务器地址有效;
 
;; Query time: 38 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sat Feb 11 19:38:48 CST 2017
;; MSG SIZE  rcvd: 63

有时还可反解,不过大多数IP地址不支持反解:

[root@localhost ~]# dig -x 114.114.114.114    #由IP地址解析出FQDN;
 
; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 114.114.114.114
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48274
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;114.114.114.114.in-addr.arpa.  IN  PTR
 
;; ANSWER SECTION:
114.114.114.114.in-addr.arpa. 330 IN  PTR public1.114dns.com.   #获取FQDN,反解成
功;
 
;; Query time: 39 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sat Feb 11 19:42:21 CST 2017
;; MSG SIZE  rcvd: 89

注意:dig工具在解析过程中不会检查本机HOST表(即/etc/hosts文件);

②nslookp工具:

用法示例:

由FQDN解析出IP地址:

[root@localhost ~]# nslookup 114.114.114.114
Server:    114.114.114.114
Address:    114.114.114.114#53
 
Non-authoritative answer:
114.114.114.114.in-addr.arpa    name = public1.114dns.com.
 
Authoritative answers can be found from:

由IP地址反解出FQDN:

[root@localhost ~]# nslookup 114.114.114.114
Server:    114.114.114.114
Address:    114.114.114.114#53
 
Non-authoritative answer:
114.114.114.114.in-addr.arpa    name = public1.114dns.com.
 
Authoritative answers can be found from:

③host工具:

用法示例:

由FQDN解析出IP地址:

[root@localhost ~]# host public1.114dns.com.
public1.114dns.com has address 114.114.114.114

由IP地址反解出FQDN:

[root@localhost ~]# host 114.114.114.114
114.114.114.114.in-addr.arpa domain name pointer public1.114dns.com.

(2)本地主机名的配置:

    ①hostname命令;

    ②hostnamectl命令(CentOS 7专用);

    ③配置文件:/etc/sysconfig/network;

①hostname命令

用法示例:

查看当前主机名:

[root@localhost ~]# hostname
localhost.localdomain

将主机名改为www.linuxidc.com

[root@localhost ~]# hostname www.linuxidc.com

②hostnamectl命令(CentOS 7专用)

用法示例:

显示当前主机名信息:

[root@localhost ~]# hostnamectl 
   Static hostname: localhost
Transient hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: dca382f93a984870b93aab37ceaf66dc
           Boot ID: 033b1679890b4e6e9c1bafe6528e9c8e
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.el7.x86_64
      Architecture: x86-64

将主机名改为www.linuxidc.com:

[root@localhost ~]# hostnamectl set-hostname www.linuxidc.com
[root@localhost ~]# hostnamectl     #注意:该命令会修改配置文件,不会立即生效,但重启后
会永久生效;
   Static hostname: www.linuxidc.com
   Pretty hostname: www.linuxidc.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: dca382f93a984870b93aab37ceaf66dc
           Boot ID: 033b1679890b4e6e9c1bafe6528e9c8e
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.el7.x86_64
      Architecture: x86-64

③配置文件:/etc/sysconfig/network

用法示例:

[root@localhost ~]# vim /etc/sysconfig/network
HOSTNAME=www.linuxidc.com    #注意:此方法不会立即有效,但重启会一直有效; 

网络属性配置文件:

    ①修改接口属性(IP/NETMASK/GW/DNS)的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE;

    ②静态路由的配置文件:/etc/sysconfig/network-scripts/route-IFACE;

①修改接口属性(IP/NETMASK/GW/DNS)的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE:

    该配置文件通过大量参数来定义接口的属性,可通过文本编辑器vim来编辑,也可通过命令行修改此配置文件(在CentOS 6上为system-config-network(setup),在CentOS 7上还支持nmtui)。

配置文件参数:
    DEVICE:此配置文件对应的设备的名称;
    ONBOOT:在系统引导过程中,是否激活此接口;
    BOOTPROTO:激活此接口时通过什么协议来配置此接口的属性;常用的有:dhcp, bootp, 
    static, none;
    PEERDNS:如果BOOTPROTO的值为"dhcp",则是否允许dhcp server分配的DNS服务器指向覆盖本
    地手动指定的DNS服务器指向;默认为允许(yes);
    UUID:此设备的唯一标识;
    IPV6INIT:是否初始化IPv6;
    TYPE:接口类型,常见的有:Ethernet, Bridge;
    DNS1:第一DNS服务器指向;
    DNS2:备用DNS服务器指向;
    DOMAIN:指定搜索域;
    IPADDR:IP地址;
    NETMASK:子网掩码;在CentOS 7上还支持使用PREFIX以长度方式指明子网掩码;
    GATEWAY:默认网关;
    USERCTL:是否允许普通用户控制此设备;
    HWADDR:此设备的MAC地址;
    NM_CONTROLLED:是否使用NetworkManager服务来控制此接口;

修改好配置文件后,需要重启网络服务通过一些脚本读取该配置文件才能生效:

CentOS 6:

方式一:# /etc/init.d/network restart
方式二:# service network restart

CentOS 7:

方式一(推荐):# systemctl restart network.service
方式二:# service network restart

相关的网络服务有:

network
NetworkManager

扩展给网络接口配置多个地址,给每个附加的地址一个网卡别名的实现:

用ifconfig命令直接配置:

[root@loaclhost ~]# ifconfig ens33:0 192.168.1.1/24
[root@loaclhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::e927:7013:71ec:ffd2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 56804  bytes 12970225 (12.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18808  bytes 2949415 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
 
......(以下省略)......

注意:使用ifconfig命令直接配置网卡别名虽能立即生效,但无法永久生效;

要想永久生效,需要为其添加接口属性配置文件,可复制其他/etc/sysconfig/network-scripts/下的其他接口属性配置文件,然后修改配置即可;而其中配置文件至少包含以下几个部分:

DEVICE=IFACE_LABEL    #指定网卡别名;
BOOTPROTO=static    #网上别名不支持动态获取地址;支持static, none;
IPADDR=    #IP地址;
NETMASK=    #子网掩码;
删除原有其他接口的HWADDR
删除原有其他接口的UUID

因此,对于本例来讲:

[root@loaclhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/networ
k-scripts/ifcfg-ens33:0
[root@loaclhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.1.1
NETMASK=255.255.255.0
#保存并退出;
[root@loaclhost ~]# systemctl restart network    #重启网络服务network;
[root@www ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.140  netmask 255.255.255.0  broadcast 10.10.10.255
        inet6 fe80::20c:29ff:fec8:ff4e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        RX packets 56847  bytes 12975355 (12.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18844  bytes 2952385 (2.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:0c:29:c8:ff:4e  txqueuelen 1000  (Ethernet)
        #配置成功!
 
......(以下省略)...... 

②静态路由的配置文件:/etc/sysconfig/network-scripts/route-IFACE:

当需要用到非默认网关路由时,可通过此配置文件来配置路由条目;

支持两种配置方式:

(1)每行一个路由条目:

TARGET via GW

(2)每三行一个路由条目

ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP
#其中'#'为数字,表示第几组路由条目;

注意:两种配置方式不能混用;

用法示例:

[root@localhost ~]# route -n    #配置前先查看路由表;
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     100    0        0 ens33
0.0.0.0         10.10.10.2      0.0.0.0         UG    100    0        0 ens33
 
[root@localhost ~]# vim /etc/sysconfig/network-scripts/route-ens33  #手动编辑路由配置文
件;
100.0.0.0/8 via 10.10.10.2    #采用每一行一个路由条目方式;
 
[root@localhost ~]# systemctl restart network    #重启网络服务network;
[root@localhost ~]# route -n    #查看路由表;
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.10.10.0      0.0.0.0         255.255.255.0   U     100    0        0 ens33
100.0.0.0       10.10.10.2      255.0.0.0       UG    100    0        0 ens33   #配置成
功;
0.0.0.0         10.10.10.2      0.0.0.0         UG    100    0        0 ens33

文本图形化编辑

[root@localhost ~]# nmtui

如果配置完成可点击"OK",如果放弃修改可直接退出"quit"。

除了以上介绍的静态指定方式之外,还可通过动态分配方式配置网络属性,一般使用dhcp(Dynamic Host Configure Protocol)协议。

采用动态分配方式只需在接口属性配置文件中指明即可,如下:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp

PDF文档可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2017年资料/3月/20日/Linux网络属性配置详解/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141974.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款