Skip to content

Centos7 双网口内外网同时上网配置策略

892字约3分钟

计网

2022-07-06

最近遇到一台内网服务器需要同时访问内外网需求,使用双网线策略,由于情况比较特殊,所以记录下踩坑记录


1. 插上网线后查看本地网卡配置

ifconfig
#可能会有很多虚拟网卡,这里可以通过ip找到我们需要配置网卡名
#外网网卡
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.20  netmask 255.255.255.254  broadcast 192.168.100.21
        inet6 fe80::b21:d2a5:7bca:4e5a  prefixlen 64  scopeid 0x20<link>
        ether 18:56:44:35:b9:d6  txqueuelen 1000  (Ethernet)
        RX packets 2292  bytes 284061 (277.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1506  bytes 270765 (264.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#内网网卡
eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.234.93.131  netmask 255.255.255.128  broadcast 10.234.93.255
        inet6 fe80::1b42:eb4d:2ac2:558a  prefixlen 64  scopeid 0x20<link>
        ether 18:56:44:35:b9:d7  txqueuelen 1000  (Ethernet)
        RX packets 1392  bytes 102845 (100.4 KiB)
        RX errors 0  dropped 383  overruns 0  frame 0
        TX packets 111  bytes 11412 (11.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
...

#前面的eno1就是网卡的名称

2. 去掉内网网关

cd /etc/sysconfig/network-scripts/
vim ifcfg-eno2
#主要 关掉内网默认网关,注释原有网关地址
#默认路由
DEFROUTE=no
#网关
#GATEWAY=10.234.93.131
#开机自动启用
ONBOOT=yes
#网卡优先级,值越小优先级越高
IPV4_ROUTE_METRIC=0

3. 添加路由

#临时添加
ip route add 10.234.93.0/24 via 10.234.93.129 dev eno2
#永久重启任然生效
vim /etc/sysconfig/network-scripts/route-eno2
10.234.93.0/24 via 10.234.93.129 dev eno1

正常情况上面配置就已经可以正常使用了,下面介绍我遇到特殊情况

4. 特殊处理

4.1 公司内网划分多个lan或vlan

这种情况如果不进行手动干预的话,配置完后你将只能访问离你最近路由器内网段,

例如上面配置10.234.93.0/24 网段,你将无法访问到10.234.95.0/24这些网段。

因为现在默认网关为外网路由器网关,上面配置内网路由又不可达该其他网段。

相关信息

解决办法也很简单为其他内网网段也设置一条路由,并设置下一跳(这里出口还是内网网关)

#临时添加
ip route add 10.234.93.0/24 via 10.234.93.129 dev eno2
#其他lan 有多少加多少
ip route add 10.234.92.0/24 via 10.234.93.129 dev eno2
ip route add 10.234.99.0/24 via 10.234.93.129 dev eno2
ip route add 192.168.3.0/24 via 10.234.93.129 dev eno2
#这里可以使用一点偷懒写法,虽然公司lan不可能把第一类私有地址全占用了,但是下一跳地址时一样的,
#这里扩大原有主机位地址,原来只有8位主机位+24位网络位,改为10.0.0.0/8 24位主机位,
#这样所有10.*.*.*开头地址都会走这条路由
ip route add 10.0.0.0/8 via 10.234.93.129 dev eno2

4.2 公司有自己DNS服务器(域名解析服务器)

上面配置完后虽然能访问原本内网所能正常到达ip,访问仅存在内网域名时,在经过外网路由默认DNS解析时,将会返回主机不存在错误,

所以原有DNS解析配置文件也需要修改。

1. 禁止NetworkManager管理本地DNS(防止重启失效)

vim /etc/NetworkManager/NetworkManager.conf 
#在main部分添加 dns=none

2. 修改本地DNS服务器地址

#可添加多条,按优先级
nameserver 局域网DNS服务器地址
#下面添加公网DNS服务器地址
nameserver 114.114.114.114

提示

总结就是 内网走自定义路由,其他(外网)走默认路由 让内网路由优先级高一点