redhat Linux做dhcp服务器如何单网卡分配多网段IP

redhat Linux做dhcp服务器如何单网卡分配多网段IP,第1张

linux做DHCP服务器实现单网卡来绑定多IP方法,这里以Redhat Enterprise Linux为例说明:

假设需要绑定多IP的网卡是eth0,先查看原网卡的配置信息和系统路由

#网卡配置信息

[root@test network-scripts]# more ifcfg-eth0 

DEVICE=eth0

BOOTPROTO=static

BROADCAST=172.16.1.255

HWADDR=00:0C:29:A2:0C:32

IPADDR=172.16.1.55

NETMASK=255.255.255.0

NETWORK=172.16.1.0

ONBOOT=yes

TYPE=Ethernet

#系统路由信息

[root@test network-scripts]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0

0.0.0.0         172.16.1.1      0.0.0.0         UG    0      0        0 eth0

在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件

cd /etc/sysconfig/network-scripts

touch ifcfg-eth0:0

将原ifcfg-eth0复制一份并更名为ifcfg-eth0:1

[root@test network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1

#并修改内容如下

[root@test network-scripts]# more ifcfg-eth0:1

DEVICE=eth0:1   

BOOTPROTO=static

BROADCAST=192.168.140.255

HWADDR=00:0C:29:A2:0C:32

IPADDR=192.168.140.242

NETMASK=255.255.255.0

NETWORK=192.168.140.0

ONBOOT=yes

TYPE=Ethernet

#其中的DEVICE为设备的名称

#IPADDR为此设备的IP地址

#BROADCAST是广播地址

#NETMASK为子网掩码

#ONBOOT 表示在系统启动时自动启动

配置完成后,重新启动网络服务就可以了连接到新的网段。

[root@test network-scripts]# service network restart  

[root@test network-scripts]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.140.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0  //增加绑定IP后自动添加的路由

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0

0.0.0.0         172.16.1.1      0.0.0.0         UG    0      0        0 eth0

使用ping命令查看对应网段是否正常通信

[root@test network-scripts]# ping 192.168.140.1    

PING 192.168.140.1 (192.168.140.1) 56(84) bytes of data.

64 bytes from 192.168.140.1: icmp_seq=0 ttl=255 time=3.75 ms

如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0:x加一即可,LINUX最多可以支持255个IP别名。

你这zd个需求,需要使用iproute2包中的 ip命令完成。

首先 /etc/iproute2/rt_tables 里面添加2个table, 对应2个不同的网段(net3 net5)

配置思路是 用ip route 命令为net3 table增加default gw 118.126.3.1,net5 table 增加default gw 118.126.5.1

然后用 ip rule 命令 使用源地址匹配规则 源地址为118.126.3.16的数据包选择 net3 table, 源地址为118.126.5.251的数据包选择net5 table.

当然你也需要设置本机的默认default gw(直接用route命令),那么由本机生成的数据包,默认会选用与default gw连接的那块网卡的ip地址对外通讯(程序指定的内除外)。

以上配置对于正常开发的 tcp通讯软件完容全可以正确工作,ping也没有问题。 不过某些开发不正确的udp软件可能运行会不正常(这种udp软件,在有两个以上ip地址的主机上工作都会有问题)

1、CentOS添加路由有很多方法,你用的是命令,没有保存下来

ip route change default dev ens160 src 192.168.3.10

当一个主机有多个网卡配置了多个 IP 的时候,对于它产生的网络包,可以在路由选择时设置源 IP 地址。src 选项只会影响该 host 上产生的网络包。如果是一个被路由的外来包,明显地它已经带有了一个源 IP 地址,这时候,src 参数的配置对它没有任何影响,除非你使用 NAT 来改变它。

2、默认src是ens160,你可以把ens160:1和ens160的IP对换一下

默认路由如果在 vi /etc/sysconfig/network

删除GATEWAY=192.168.3.254

ip route ls

默认会包含

src 192.168.3.10

3、vi /etc/sysconfig/network-scripts/ifcfg-ens160:0

添加GATEWAY=192.168.3.10

4、或者vi /etc/sysconfig/network-scripts/route-ens160:0

0.0.0.0/0 via 192.168.3.254 dev ens160:0 src 192.168.3.10

192.168.3.0/24 via 192.168.3.254 dev ens160:0 src 192.168.3.10

default via 192.168.3.254 dev ens160:0 src 192.168.3.10

5、或者将静态路由加到/etc/sysconfig/static-routes

any net any gw 192.168.3.254

any net 192.168.3.0/24 gw 192.168.3.254

any net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.254


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存