CentOS 7系统配置上的变化解析(4)

前面简单介绍了CentOS 7 在服务和网络方面的一点变化,先前很多烂熟于心的操作指令已经不适用了,不管是否习惯,总要接受、熟悉这些变化。

写上篇的时候还没有最小安装的ISO(CentOS-7.0-1406-x86_64-Minimal.iso),后来安装了首先发现ifconfig、netstat、route、arp都没有了,在哪儿呢?

[root@centos7 ~]# yum search ifconfig
......
======================== Matched: ifconfig =========================
net-tools.x86_64 : Basic networking tools
[root@centos7 ~]#

哦,最小安装默认没有包含这些老工具,如果非用不可,就 yum install net-tools 吧,但我就是要看看不用它们我们怎么来管理网络。
我们将要用到的是ip指令,ss指令和NetworkManager的两个工具 nmtui,nmcli。老实说,这几个工具更加强大了,但还真不太容易习惯呢。

一、ip ss指令替代 ifconfig route arp netstat

1、ip 指令入门
ip [ OPTIONS ] OBJECT { COMMAND | help } 
OBJECT 和 COMMAND可以简写到一个字母
ip help         可以查到OBJECT列表和OPTIONS,简写 ip h
ip <OBJECT> help   查看针对该OBJECT的帮助,比如 ip addr help,简写 ip a h
ip addr         查看网络接口地址,简写 ip a

查看网络接口地址,替代ifconfig: 

[root@centos7 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
      valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe15:35d2/64 scope link
      valid_lft forever preferred_lft forever
[root@centos7 ~]#


网络接口统计信息

[root@centos7 ~]# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast 
    0          0        0      0      0      0     
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0      0      0      0     
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast 
    8135366    131454  0      0      0      456   
    TX: bytes  packets  errors  dropped carrier collsns
    646297    2441    0      0      0      0   


2、ip route显示和设定路由

显示路由表

[root@centos7 ~]# ip route
default via 192.168.150.254 dev enp0s3  proto static  metric 1024
192.168.150.0/24 dev enp0s3  proto kernel  scope link  src 192.168.150.110

太难看了,格式化一下(显示的是默认网关和局域网路由,两行的内容没有共通性):

[root@centos7 tmp]# ip route|column -t
default          via  192.168.150.254  dev    enp0s3  proto  static  metric  1024
192.168.150.0/24  dev  enp0s3          proto  kernel  scope  link    src    192.168.150.110


添加静态路由

[root@centos7 ~]# ip route add 10.15.150.0/24 via 192.168.150.253 dev enp0s3
[root@centos7 ~]#
[root@centos7 ~]# ip route|column -t
default          via  192.168.150.254  dev    enp0s3  proto  static  metric  1024
10.15.150.0/24    via  192.168.150.253  dev    enp0s3  proto  static  metric  1
192.168.150.0/24  dev  enp0s3          proto  kernel  scope  link    src    192.168.150.110
[root@centos7 ~]#
[root@centos7 ~]# ping 10.15.150.1
PING 10.15.150.1 (10.15.150.1) 56(84) bytes of data.
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.77 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.08 ms
64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.57 ms
^C


删除静态路由只需要把 add 替换成 del,或者更简单的只写目标网络

[root@centos7 ~]# ip route del 10.15.150.0/24
[root@centos7 ~]#

但是,ip route 指令对路由的修改不能保存,重启就没了。
设置永久的静态路由的方法RHEL官网文档讲了几种,试验成功的只有一种:

[root@centos7 ~]#echo "10.15.150.0/24 via 192.168.150.253 dev enp0s3" > /etc/sysconfig/network-scripts/route-enp0s3

重启计算机,或者禁用再启用设备enp0s3才能生效,
注意:/etc/sysconfig/static-routes,/etc/sysconfig/network 配置文件都不好用。

3、用 ip neighbor 代替 arp -n

[root@centos7 ~]# ip nei
192.168.150.254 dev enp0s3 lladdr b8:a3:86:37:bd:f8 STALE
192.168.150.100 dev enp0s3 lladdr 90:b1:1c:94:a1:20 DELAY
192.168.150.253 dev enp0s3 lladdr 00:09:0f:85:86:b9 STALE


4、用ss 代替 netstat
对应netstat -ant

[root@centos7 ~]# ss -ant
State      Recv-Q Send-Q  Local Address:Port    Peer Address:Port
LISTEN      0      100          127.0.0.1:25                  *:*   
LISTEN      0      128                  *:22                  *:*   
ESTAB      0      0      192.168.150.110:22    192.168.150.100:53233
LISTEN      0      100                ::1:25                :::*   
LISTEN      0      128                :::22                :::* 

对应netstat -antp

[root@centos7 tmp]# ss -antp
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port
LISTEN    0      100              127.0.0.1:25                      *:*     
users:(("master",1817,13))
LISTEN    0      128                      *:22                      *:*     
users:(("sshd",1288,3))
ESTAB      0      0          192.168.150.110:22        192.168.150.100:59413 
users:(("sshd",2299,3))
LISTEN    0      100                    ::1:25                      :::*     
users:(("master",1817,14))
LISTEN    0      128                      :::22                      :::*     
users:(("sshd",1288,4))
[root@centos7 tmp]#

看着真的很别扭,不管多宽的终端屏,users:部分都会折到下一行,其实是在一行的。

格式化一下,内容整齐了,但是标题行串了:

[root@centos7 tmp]# ss -antp|column -t
State  Recv-Q  Send-Q  Local              Address:Port          Peer                        Address:Port
LISTEN  0      100    127.0.0.1:25        *:*                    users:(("master",1817,13))
LISTEN  0      128    *:22                *:*                    users:(("sshd",1288,3))
ESTAB  0      0      192.168.150.110:22  192.168.150.100:59413  users:(("sshd",2299,3))
LISTEN  0      100    ::1:25              :::*                  users:(("master",1817,14))
LISTEN  0      128    :::22              :::*                  users:(("sshd",1288,4))

5、旧的network脚本和ifcfg文件
Centos7 开始,网络由 NetworkManager 服务负责管理,相对于旧的 /etc/init.d/network 脚本,NetworkManager是动态的、事件驱动的网络管理服务。旧的 /etc/init.d/network 以及 ifup,ifdown 等依然存在,但是处于备用状态,即:NetworkManager运行时,多数情况下这些脚本会调用NetworkManager去完成网络配置任务;NetworkManager么有运行时,这些脚本就按照老传统管理网络。

[root@centos7 ~]# /etc/init.d/network start
Starting network (via systemctl):                          [  OK  ]

注意(via systemctl)。

6、网络配置文件:
/etc/sysconfig/network  说是全局设置,默认里面啥也没有
/etc/hostname            用nmtui修改hostname后,主机名保存在这里
/etc/resolv.conf        保存DNS设置,不需要手工改,nmtui里面设置的DNS会出现在这里
/etc/sysconfig/network-scripts/            连接配置信息 ifcfg 文件
/etc/NetworkManager/system-connections/    VPN、移动宽带、PPPoE连接

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17456.html