(已解决)Failed to restart network.service: Unit network.service failed to load: No such file or directory.

 

         许多系统管理员仍然使用ifconfigroutearpnetstat 命令组合来管理和排错网络配置,这些命令有net-tools包提供,但在Arch LinuxCentos7/RHEL7等发行版里面已经使用iproute2替代了net-toolsiproute2是另外一个网络配置工具,用来取代net-tools的功能;

         net-tools访问和修改网络配置是通过procfs(/proc)ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,iproute2发展一直很好:https://www.kernel.org/pub/linux/utils/net/iproute2/

 下面是net-toolsiproute2的使用对比:

 一、列出所有网络接口(包括没有激活的网卡)

 1、使用net-tools:

 $ ifconfig -a

 2、使用iproute2

 $ ip link show

 二、激活和关闭网卡

 1、使用net-tools:

 $ sudo ifconfig eth1 up

 $ sudo ifconfig eth1 down

 2、使用iproute2:

 $ sudo ip link set down eth1

$ sudo ip link set up eth1

 三、配置IPv4地址

1、使用net-tools:

 $ sudo ifconfig eth1 10.0.0.1/24

2、使用iproute2:

 $ sudo ip addr add 10.0.0.1/24 dev eth1

3、使用net-tools配置多IP

 $ sudo ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up

$ sudo ifconfig eth0:2 192.168.10.15 netmask 255.255.255.0 up

 4、使用iproute2配置多IP:

$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1

 $ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1

 $ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1

 四、查看eth0IP地址

$sudo ip addr list dev eth0

 五、移除网卡上的IPv4地址

 1、使用net-tools:

$ sudo ifconfig eth1 0

 2、使用iproute2:

$ sudo ip addr del 10.0.0.1/24 dev eth1

六、查看网卡上配置的IPv4地址

1、使用net-tools:

 $ ifconfig eth1

2、使用iproute2:

 $ ip addr show dev eth1

 3、如果是网卡绑定了多IP的话,iproute2能显示所有的地址,而net-tools只能显示一个

 

 七、配置IPv6地址

 1、使用net-tools:

 $ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64

$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64

 2、使用iproute2:

$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1

$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1

八、查看网卡上配置的IPv6地址

 1、使用net-tools:

$ ifconfig eth1

2、使用iproute2:

$ ip -6 addr show dev eth1

 

 九、移除网卡上的IPv6地址

1、使用net-tools:

 $ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64

2、使用iproute2:

$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1

十、更改网卡MAC地址

 1、使用net-tools:

$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66

 2、使用iproute2:

 $ sudo ip link set dev eth1 address 08:00:27:75:2a:67

 十一、查看路由表

 1、使用net-tools:

 $route -n

 $ netstat -rn

 2、使用iproute2:

 $ ip route show

 十二、添加修改默认路由

1、使用net-tools:

 $ sudo route add default gw 192.168.1.2 eth0

$ sudo route del default gw 192.168.1.1 eth0

 2、使用iproute2:

 $ sudo ip route add default via 192.168.1.2 dev eth0

 $ sudo ip route replace default via 192.168.1.2 dev eth0

十三、添加和删除静态路由

 1、使用net-tools:

 $ sudo route add default gw 192.168.1.2 eth0

 $ sudo route del default gw 192.168.1.1 eth0

 2、使用iproute2:

$ sudo ip route add default via 192.168.1.2 dev eth0

$ sudo ip route replace default via 192.168.1.2 dev eth0

十四、查看socket统计

 1、使用net-tools:

 $ netstat

$ netstat -l

2、使用iproute2:

 $ ss

 $ ss -l

 

 十三、ARP

 1、使用net-tools:

 $ arp -an

2、使用iproute2:

 $ ip neigh

 十四、添加和删除静态ARP

 1、使用net-tools:

$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef

 $ sudo arp -d 192.168.1.100

2、使用iproute2:

 $ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0

$ sudo ip neigh del 192.168.1.100 dev eth0

十五、添加、删除和查看多播地址

 1、使用net-tools:

 $ sudo ipmaddr add 33:44:00:00:00:01 dev eth0

 $ sudo ipmaddr del 33:44:00:00:00:01 dev eth0

 $ ipmaddr show dev eth0

 $ netstat -g

2、使用iproute2:

 $ sudo ip maddr add 33:44:00:00:00:01 dev eth0

 $ sudo ip maddr del 33:44:00:00:00:01 dev eth0

$ ip maddr list dev eth0