Linux 添加IP地址和路由的命令

Linux 添加IP地址和路由的命令,第1张

1 Linux add a second IP addressLinux add a second IP address

2 Add a Static Route on CentOS

    前段时间在调试时,将外网接入内部局域网,然后使用向日葵远程连接调试。Windows一个网络适配器只能设置一个IP地址,后面才发现可以通过网络子接口来设置虚拟IP,内部网络通过正常的IP地址通信,外部网络通过子接口来进行通信,即一个物理网口上连接两个子网。Windows可以设置网络子接口,笔者就延申到Linux系统上,总结在不同平台设置网络子接口的方法。需要明确的是,虚拟IP的数据还是经过真实的物理网络接口。简而言之,网卡设备都有一个MAC地址,但是却可以有多个网络层IP地址。

    本文以Windows10和CentOS8为例。

 Windows平台上:

    微软官网对于网络子接口有这样的描述:

1)一个逻辑IP网络正在使用中,并且此计算机需要使用多个IP地址才能在该网络上进行通信。

2)正在使用多个逻辑IP网络,并且此计算机需要一个不同的IP地址才能与每个不同的逻辑IP网络进行通信。

    当不使用“常规”选项卡上的“自动获取IP地址”时,才可以使用“高级TCP/IP设置”进行此网络连接,来完成高级IP寻址。在设置里面,Interface metric 接口度量标准(跃点数)可以设置该接口的优先级,接口度量标准的值越小,表示使用该接口的优先级越高。自动度量标准(自动跃点),最高速度的接口具有最低的接口度量值,优先级越高。

Linux平台上:

    Linux平台上虚拟ip基本上都用于高可用的架构上,比如keepalived就是通过托管VIP里完成飘逸,可以参考笔者以前的文章-Keepalived让树莓派也可以VIP漂移。其实这一篇文章对于keepalived也会有很好的理解了。看一下文章里面的Keepalived后通过ip addr查看的结果。

    VRRP协议来通信完成心跳检测,然后使用辅助IP的ip addr add 来添加虚拟IP地址,主用不在线就del掉VIP,然后在从机上add 同样的VIP。为什么不是ifconfig命令呢,那就需要你仔细看看关键信息找区别了,如果你安装了的话可以使用ifconfig来确定是否能够查看到VIP。

    接下里我们就看看在Linux中创建虚拟IP有两种方法,分别是:别名IP(IP aliases)和辅助IP(secondary IP addresses)。

    1、别名IP是通过ifconfig命令去创建和 *** 作的虚拟ip。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 up

    删除别名IP,将up改为down。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 down

    如果开机就需要别名IP地址的话,需要到/etc/sysconfig/network-scripts目录下新建一个子接口来永久性修改配置文件。将原ifcfg-enp0s3文件复制后,然后修改其中的IP地址信息。

    cp ifcfg-enp0s3 ifcfg-enp0s3:1

    为了方便也可以将ifconfig命令去创建和 *** 作的虚拟ip的命令加入到开机启动中,详情参考笔者以前的文章-Linux设置脚本开机启动的四种方法。

2、辅助IP是由linux的ip命令去创建和 *** 作的。

sudo  ip addr add 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    设置完成后,也可以通过ifconfig来查看。但是如果在命令后面不添加label enp0s3:1的话,那么ifconfig就不能查看了。

    删除辅助IP,将add替换成del即可。

sudo  ip addr del 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    辅助IP需要持久化的话,只能将ip命令去创建和 *** 作的虚拟ip的命令加入到开机启动中了。

    路由器通信设备:

    路由器接口有限, 一个物理接口可以配置子接口(逻辑接口)的方式来实现一当多的功能。具体配置参考笔者的文章-eNSP模拟实验-单臂路由实现VLAN间通信。

linux系统下路由的 *** 作:

查看路由表:

route -n/ip route

添加路由:

route add -host 1.1.1.1/32 gw 172.18.30.45

route add -host 主机ip地址 gw 下一跳[ip或设备]

route add -net 10.20.20.0/24 dev eth0

route add -net 网段 gw 下一跳[ip或设备]

删除路由:

route del -net 10.20.20.0/24 【删除网段路由】

route del -host 1.1.1.1   【删除主机路由】

默认网关:

route add default gw 172.18.30.204

route del default gw 172.18.30.204

具体 *** 作:

[root@test1 ~]# ip route

10.10.10.10 via 172.18.30.1 dev eth0

172.18.30.0/24 dev eth0  proto kernel  scope link  src 172.18.30.45

192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

169.254.0.0/16 dev eth0  scope link  metric 1002

default via 172.18.30.254 dev eth0  proto static

[root@test1 ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

bogon           bogon           255.255.255.255 UGH   0      0        0 eth0

172.18.30.0     *               255.255.255.0   U     0      0        0 eth0

192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0

link-local      *               255.255.0.0     U     1002   0        0 eth0

default         bogon           0.0.0.0         UG    0      0        0 eth0

[root@test1 ~]#

[root@test1 ~]# route add -host 1.1.1.1/32 gw 172.18.30.45

[root@test1 ~]# route add -net 10.20.20.0/24 dev eth0

[root@test1 ~]# route del -net 10.20.20.0/24

[root@test1 ~]# route del -host 1.1.1.1

[root@test1 ~]# route add default gw 172.18.30.204

[root@test1 ~]# route del default gw 172.18.30.204

更多linux知识建议参考《Linux就该这样学》,linux的学习需要多巧多练习,加油吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8571931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存