[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 addr1: 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 forever2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
2、ip route显示和设定路由 显示路由表
[root@centos7 ~]# ip route show
default via 192.168.150.254 dev enp0s3 proto static metric 1024192.168.150.0/24 dev enp0s3 proto kernel scope link src 192.168.150.110
太难看了,格式化一下(显示的是默认网关和局域网路由,两行的内容没有共通性):
[root@centos7 tmp]# ip route show|column -t
default via 192.168.150.254 dev enp0s3 proto static metric 1024192.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 show|column -t
default via 192.168.150.254 dev enp0s3 proto static metric 102410.15.150.0/24 via 192.168.150.253 dev enp0s3 proto static metric 1192.168.150.0/24 dev enp0s3 proto kernel scope link src 192.168.150.110[root@centos7 ~]#
[root@centos7 ~]# ping 10.15.150.1PING 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 ms64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.08 ms64 bytes from 10.15.150.1: icmp_seq=1 ttl=63 time=1.57 ms
enp0s3 295e1841-0ff3-4db9-8800-4e25fc2944da 802-3-ethernet enp0s3
“Wired connection 1”是新增的网络连接,对应的网络接口叫enp0s8;
“enp0s3”是最初的网络连接,默认与网络接口同名。
我们可以用nmtui把两个连接改成我们熟悉的名字(nmcli也能,但比较麻烦哦)。改完了看看连接:
[root@centos7 ~]# nmcli con show
NAME UUID TYPE DEVICE
[root@centos7 ~]# nmcli dev show enp0s3
GENERAL.DEVICE: enp0s3
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:15:35:D2
GENERAL.MTU: 1500GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: eth0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/4WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: ip = 192.168.150.110/24, gw = 192.168.150.254IP4.DNS[1]: 192.168.150.254IP6.ADDRESS[1]: ip = fe80::a00:27ff:fe15:35d2/64, gw = ::
[root@centos7 ~]#
[root@centos7 ~]# nmcli dev show enp0s8
GENERAL.DEVICE: enp0s8
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:98:D1:B7
GENERAL.MTU: 1500GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: eth1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/3WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: ip = 10.0.3.15/24, gw = 10.0.3.2IP4.DNS[1]: 10.0.3.2IP6.ADDRESS[1]: ip = fe80::a00:27ff:fe98:d1b7/64, gw = ::
[root@centos7 ~]#
但是试试用连接名查设备呢?
[root@centos7 ~]# nmcli dev show eth0
Error: Device 'eth0' not found.
用设备名查连接也是一样出错:
[root@centos7 ~]# nmcli con show enp0s3
Error: enp0s3 - no such connection profile.
这回能看清楚了吧?懂得了连接和设备的区别,在一些指令帮助里面有的参数需要connection,有的需要device,就不会糊涂了。
需要注意的是,enp0s3设备对应的连接名改为eth0,但对应的ifcfg文件并没有改名,我们改改试试,改之前先备份原配置文件到其他目录(注意,不能备份到network-scripts目录!)。
[root@centos7 ~]# nmcli con up eth1-Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)
[root@centos7 ~]#
现在up的连接是eth1-2,网络接口enp0s8的IP是10.0.3.120
如果重新up连接eth1-1,nmcli con up eth1-1,网络接口enp0s8的IP变成了10.0.3.110
如果重新up连接eth1, nmcli con up eth1, 网络接口enp0s8的IP就回到原来自动获得的值10.0.3.15 所以,对一个网络接口设置不同的连接,可以快速的切换不同的网络配置,这个真的满厉害的。 如果希望系统重启后仅up某个特定连接,那么可以把其他连接配置文件的ONBOOT=no,ONBOOT=no的连接也可以随时up。 #添加于2014-10-8 编辑连接
用nmtui编辑连接后,ifcfg文件也会有相应的改动;手工修改ifcfg后,nmtui中也能看到。
但是,不论用nmtui还是直接修改ifcfg文件,想让新的配置生效,我们需要load连接配置文件并重新up连接。
[root@centos7 ~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth1-1[root@centos7 ~]# nmcli con up eth1-1Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@centos7 ~]# ip addr show enp0s83: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000