CentOS下TCP/IP网络管理工具:net-tools VS iproute2
时间:2015-01-14 19:18 来源:51cto 作者:Geekwolf
Blog:http://www.simlinux.com
许多系统管理员仍然使用ifconfig、route、arp、netstat 命令组合来管理和排错网络配置,这些命令有net-tools包提供,但在Arch Linux、Centos7/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-tools和iproute2的使用对比:
列出所有网络接口(包括没有激活的网卡)
使用net-tools:
$ ifconfig -a
使用iproute2:
$ ip link show
激活和关闭网卡
使用net-tools:
$ sudo ifconfig eth1 up
$ sudo ifconfig eth1 down
使用iproute2:
$ sudo ip link set down eth1
$ sudo ip link set up eth1
配置IPv4地址
使用net-tools:
$ sudo ifconfig eth1 10.0.0.1/24
使用iproute2:
$ sudo ip addr add 10.0.0.1/24 dev eth1
使用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
使用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
查看eth0的IP地址
$sudo ip addr list dev eth0
移除网卡上的IPv4地址
使用net-tools:
$ sudo ifconfig eth1 0
使用iproute2:
$ sudo ip addr del 10.0.0.1/24 dev eth1
查看网卡上配置的IPv4地址
使用net-tools:
$ ifconfig eth1
使用iproute2:
$ ip addr show dev eth1
如果是网卡绑定了多IP的话,iproute2能显示所有的地址,而net-tools只能显示一个
配置IPv6地址
使用net-tools:
$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64
$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
使用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地址
使用net-tools:
$ ifconfig eth1
使用iproute2:
$ ip -6 addr show dev eth1
移除网卡上的IPv6地址
使用net-tools:
$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
使用iproute2:
$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
更改网卡MAC地址
使用net-tools:
$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66
使用iproute2:
$ sudo ip link set dev eth1 address 08:00:27:75:2a:67
查看路由表
使用net-tools:
$route -n
$ netstat -rn
使用iproute2:
$ ip route show
添加修改默认路由
使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
使用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
添加和删除静态路由
使用net-tools:
$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
使用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统计
使用net-tools:
$ netstat
$ netstat -l
使用iproute2:
$ ss
$ ss -l
查看ARP表
使用net-tools:
$ arp -an
使用iproute2:
$ ip neigh
添加和删除静态ARP
使用net-tools:
$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ sudo arp -d 192.168.1.100
使用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
添加、删除和查看多播地址
使用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
使用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
(责任编辑:IT)
Blog:http://www.simlinux.com 许多系统管理员仍然使用ifconfig、route、arp、netstat 命令组合来管理和排错网络配置,这些命令有net-tools包提供,但在Arch Linux、Centos7/RHEL7等发行版里面已经使用iproute2替代了net-toolsiproute2是另外一个网络配置工具,用来取代net-tools的功能;
net-tools访问和修改网络配置是通过procfs(/proc)和ioctl系统调用来完成的,而iproute2是通过netlink socket方式与内核通信;重要的是,iproute2发展一直很好: 列出所有网络接口(包括没有激活的网卡)使用net-tools: $ ifconfig -a 使用iproute2: $ ip link show 激活和关闭网卡使用net-tools: $ sudo ifconfig eth1 up $ sudo ifconfig eth1 down 使用iproute2: $ sudo ip link set down eth1 $ sudo ip link set up eth1 配置IPv4地址使用net-tools: $ sudo ifconfig eth1 10.0.0.1/24 使用iproute2: $ sudo ip addr add 10.0.0.1/24 dev eth1 使用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 使用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 查看eth0的IP地址 $sudo ip addr list dev eth0 移除网卡上的IPv4地址使用net-tools: $ sudo ifconfig eth1 0 使用iproute2: $ sudo ip addr del 10.0.0.1/24 dev eth1 查看网卡上配置的IPv4地址使用net-tools: $ ifconfig eth1 使用iproute2: $ ip addr show dev eth1 如果是网卡绑定了多IP的话,iproute2能显示所有的地址,而net-tools只能显示一个 配置IPv6地址使用net-tools: $ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64 $ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64 使用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地址使用net-tools: $ ifconfig eth1 使用iproute2: $ ip -6 addr show dev eth1 移除网卡上的IPv6地址使用net-tools: $ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64 使用iproute2: $ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1 更改网卡MAC地址使用net-tools: $ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66 使用iproute2: $ sudo ip link set dev eth1 address 08:00:27:75:2a:67 查看路由表使用net-tools: $route -n $ netstat -rn 使用iproute2: $ ip route show 添加修改默认路由使用net-tools: $ sudo route add default gw 192.168.1.2 eth0 $ sudo route del default gw 192.168.1.1 eth0 使用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 添加和删除静态路由使用net-tools: $ sudo route add default gw 192.168.1.2 eth0 $ sudo route del default gw 192.168.1.1 eth0 使用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统计使用net-tools: $ netstat $ netstat -l 使用iproute2: $ ss $ ss -l 查看ARP表使用net-tools: $ arp -an 使用iproute2: $ ip neigh 添加和删除静态ARP使用net-tools: $ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef $ sudo arp -d 192.168.1.100 使用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 添加、删除和查看多播地址使用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 使用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(责任编辑:IT) |