事件背景
公司有一条专线从光猫直接接进来的网线,这个网线有 4 个公网 IP,但是需要用户将公网 IP 配置到机器上面才能使用。在这中间没有添加任何网络设备,只有一个集线器将那根网线一分为四连接到 4 台机器上面。现在我们想实现如下需求:
我们现在的想到的是两个网卡,就以为着在里面的服务器上面配置两个网卡,然后配置上 IP 地址就行了呗?但是此时出现一个问题,这样配置服务器有了双网关,没法使用。
于是在网上找了很多文档,虽然自己是学网络出身,但是已经全部还给老师了。所以下文有问题的地方,还希望大佬们能够帮忙纠正一下。
配置 VMWare ESXI
1. 在 ESXI 的控制台中,可以看到我们接通的网线:
服务器本身有 4 块网卡,其中 vmnic0 就是连接的公网那根网线,vmnic1 连接的公司内网网端。
2. 添加虚拟交换机,用于接通对应的网卡:
我这里新建了一个虚拟交换机,其中 vSwitch0 默认的,它本身连接的内网,vSwitch2-Out 用于连接的外网网卡。
3. 新建端口组:
将其绑定到刚刚创建的虚拟交换机上面:
4. 给虚拟机配置双网卡,一块连接到内网,一块连接到公网:
5. 连接虚拟机配置网卡,默认只有一张网卡生效,需要手动添加另外一张网卡的配置文件,这是针对于现有机器增加网卡后的配置:
方法是通过:
1. ip a 查看没有配置 IP 网卡的名称。
2. 去 /etc/sysconfig/network-scripts 下面增加该网卡配置文件。
6. 增加双网关配置:
vim /etc/iproute2/rt_tables
新增内容如下:
252 1 251 2
相当于新增了路由 table,如图:
增加开机路由:
vi /etc/rc.d/init.d/network
内容如下:
ip route flush table 1 ip route add default via 公网IP网关 dev ens224 src 公网IP table 1 ip rule add from 公网IP table 1 ip route flush table 2 ip route add default via 内网IP网关 dev ens192 src 内网IP table 2 ip rule add from 内网IP table 2
添加的具体位置如下,几乎是文件的最后:
配置好以后重启服务器查看网络:
可以看到都起来了,此时我们在内网的其它机器上面 ping 这两个 IP 都是能通的。至此旧实现了双网卡,双网关。