ip 命令 之 四

 

ip和它的作者

在计算机科学中,大家一提到ip这个词,第一个想到的大概就是 Internet Protocol Addree,即IP地址。

在当今社会,也有很多人会想到 Interlectual Property,即知识产权。我们讨论的是Linux系统iproute2软件包中的ip命令。一个用来管理网络设备和路由的强大命令。


                                                                 被 ip 取代的命令


展示服务器的网络接口信息

以前,我们总是用ifconfig 来查看服务器的网络接口信息,而如今,我们用ip命令来实现:

这台服务器上的各个网络接口的信息,完整的展示在屏幕上了,包括相应的IP地址,MAC地址,等待。


为网络接口添加一个IP地址

作为系统网络管理员,都会遇到需要为服务器网卡添加IP地址的任务,这是一项基本的技能。

开始为ens39网络接口添加IP地址

[root@test ~]# ip addr add 192.168.146.110/24 dev ens39

[root@test ~]# ip addr show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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
    inet 192.168.0.127/32 brd 192.168.0.127 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bb:96:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.128/24 brd 192.168.200.255 scope global dynamic ens32
       valid_lft 1219sec preferred_lft 1219sec
    inet6 fe80::20c:29ff:febb:9661/64 scope link 
       valid_lft forever preferred_lft forever
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bb:96:75 brd ff:ff:ff:ff:ff:ff
    inet 192.168.146.129/24 brd 192.168.146.255 scope global dynamic ens39
       valid_lft 1039sec preferred_lft 1039sec
    inet 192.168.146.110/24 scope global secondary ens39
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:febb:9675/64 scope link 
       valid_lft forever preferred_lft forever

可见,已经生效了。我们这时可以通过这个IP地址进行访问这台服务器了。

[root@slave ~]# ssh 192.168.146.110
The authenticity of host '192.168.146.110 (192.168.146.110)' can't be established.
ECDSA key fingerprint is SHA256:wkhBuW9+Sr3Prq0zsDBmybLH4DrJP58xuiGc8oY1hKw.
ECDSA key fingerprint is MD5:81:e7:e2:74:23:00:6f:23:c0:c2:0d:d2:77:9d:9d:e8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.146.110' (ECDSA) to the list of known hosts.
root@192.168.146.110's password: 
Last login: Mon Apr  8 08:38:45 2019 from 192.168.146.6


针对一个网络接口删除其IP地址

我们不仅可以为网络添加IP地址,也可以删除IP地址。

[root@test ~]# ip addr del 192.168.146.110/24 dev ens39
[root@test ~]# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    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
    inet 192.168.0.127/32 brd 192.168.0.127 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bb:96:61 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.128/24 brd 192.168.200.255 scope global dynamic ens32
       valid_lft 1302sec preferred_lft 1302sec
    inet6 fe80::20c:29ff:febb:9661/64 scope link 
       valid_lft forever preferred_lft forever
3: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:bb:96:75 brd ff:ff:ff:ff:ff:ff
    inet 192.168.146.129/24 brd 192.168.146.255 scope global dynamic ens39
       valid_lft 1176sec preferred_lft 1176sec
    inet6 fe80::20c:29ff:febb:9675/64 scope link 
       valid_lft forever preferred_lft forever


网卡的禁用和激活

在系统网络运维过程中,我们有时需要将一个网卡状态设置为禁用状态,以便对系统进行排错或者对网卡进行维修,这时候我们可以用ip link命令来控制网卡的禁用和激活。

当然,禁用和激活网卡属于高危动作,一定要确认之后才进行此类操作。

禁用ens39这个网卡接口

[root@test ~]# ip link set ens39 down

激活ens39这个网卡接口

[root@test ~]# ip link set ens39 up


查看路由表

查看系统的路由信息

[root@test ~]# ip route show
default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100

增加一条路由规则

虽然在大型网络中,我们都是采用动态路由方式,但是静态路由仍有它的优势。

静态路由的优势可以概括为以下三个方面:

  1. 由于不必交换路由信息,所以节省了一定的网络带宽。
  2. 由于路由器不需要定期更新路由,从而降低了路由器的性能损耗。
  3. 由于手工配置,因此可以一定程度上提升路由的安全性。

通过add 动作来增加一条路由规则:

[root@test ~]# ip route add 192.168.2.0/24 via 192.168.146.254
[root@test ~]# ip route show

default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.2.0/24 via 192.168.146.254 dev ens39 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100

只设定设备转发

[root@test ~]# ip route add 192.168.146.5 dev ens39
[root@test ~]# ip route show

default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.2.0/24 via 192.168.146.254 dev ens39 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.146.5 dev ens39 scope link 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100 

删除手工配置的路由规则

[root@test ~]# ip route del 192.168.146.5 dev ens39
[root@test ~]# ip route del 192.168.2.0/24 via 192.168.146.254
[root@test ~]# ip route show

default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100

静态路由的劣势也是显而易见的,纯手工配置对于几十台路由器的网络来说,维护成本也是无法承受的,因此,应用场景也是相对的狭隘。基本只是在早期配置无盘网络、做网络路由实验或者小网络范围内才会使用静态路由方式。

指定默认网关

默认网关的作用很简单,很明确,就是一台主机如果找不到匹配的转发规则。那么就把数据转发给默认指定的网关,由这个网关来处理数据包。

默认网关是不能随便指定的,一定要指定明确,否则就会造成本机网络连通方面的问题。

[root@test ~]# ip route show
default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100 
[root@test ~]# ip route add default via 192.168.200.6
[root@test ~]# ip route  show

default via 192.168.200.6 dev ens32 
default via 192.168.200.2 dev ens32 proto static metric 100 
192.168.146.0/24 dev ens39 proto kernel scope link src 192.168.146.129 metric 100 
192.168.200.0/24 dev ens32 proto kernel scope link src 192.168.200.128 metric 100 
[root@test ~]# ip route del default via 192.168.200.6


ip 操作 ARP 表

ARP,即Address Resolution Protocol,用来进行IP地址和MAC地址的翻译工作。

查看本地服务器的ARP表

[root@test ~]# ip neigh show
192.168.200.2 dev ens32 lladdr 00:50:56:e1:98:eb REACHABLE
192.168.200.254 dev ens32 lladdr 00:50:56:ef:35:f2 DELAY
192.168.200.6 dev ens32  FAILED
192.168.146.254 dev ens39 lladdr 00:50:56:ed:5e:12 STALE
192.168.146.6 dev ens39 lladdr 00:50:56:c0:00:01 DELAY
192.168.146.1 dev ens39  FAILED

[root@test ~]# ip neigh show
192.168.200.2 dev ens32 lladdr 00:50:56:e1:98:eb STALE
192.168.200.254 dev ens32 lladdr 00:50:56:ef:35:f2 STALE
192.168.200.6 dev ens32  FAILED
192.168.146.254 dev ens39 lladdr 00:50:56:ed:5e:12 STALE
192.168.146.6 dev ens39 lladdr 00:50:56:c0:00:01 DELAY
192.168.146.1 dev ens39  FAILED
仔细观察的话,会发现ARP表的输出信息的最后(标蓝色)一列,从DELAY 变成了 REACHABLE,是不是很奇怪,ARP表为什么还会动态变化呢?

原来,ARP表的这一列表示的是邻居的可达性,它有三个可能的值。

  1. STALE:邻居存在,但目前处于不可达状态。
  2. DELAY:探测邻居可达与否的数据包已经发出,正在等待邻居的回复。
  3. REACHABLE:邻居存在,而且是可达的。

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值