我的情况如下:
我有一台服务器,其站点位于 DMZ 内的 Drupal 中。由于服务器位于该网络中,因此无法访问互联网,但我需要它来执行更新和维护任务。在此服务器中我有两个网络接口>
eth0> (for internet access)
address: 172.20.62.22
netmask: 255.255.0.0
gateway: 172.20.127.1
eth1> (for DMZ)
address: 10.0.1.41
netmask: 255.255.255.0
gateway: 10.0.1.1
到目前为止,我尝试的是创建两个路由表(每个接口一个)并将默认网关设置为具有互联网连接的接口。我的接口文件包含以下内容:
auto eth0
iface eth0 inet static
address 172.20.62.22
netmask 255.255.0.0
gateway 172.20.127.1
post-up ip route add 172.20.0.0/16 dev eth0 table eth0table
post-up ip route add default via 172.20.127.1 table eth0table
post-up ip rule add from 172.20.62.22/32 table eth0table priority 100
post-up ip route flush cache
pre-down ip rule del from 172.20.62.22/32 table eth0table priority 100
pre-down ip route flush table eth0table
pre-down ip route flush cache
auto eth1
iface eth1 inet static
address 10.0.1.41
netmask 255.255.255.0
post-up ip route add 10.0.1.0/24 dev eth0 table eth1table
post-up ip route add default via 10.0.1.1 table eth1table
post-up ip rule add from 10.0.1.41/32 table eth1table priority 110
post-up ip route flush cache
pre-down ip rule del from 10.0.1.41/32 table eth1table priority 110
pre-down ip route flush table eth1table
pre-down ip route flush cache
到目前为止,我可以与两个 IP 建立 ssh 连接(这让我认为我的方式是正确的),但在机器内部,我可以访问互联网,但无法 ping 集群中同一台机器上的其他机器网络(10.0.1.0/24)。我想我已经很接近了,但我知道路由配置中缺少一些东西。我最大的担忧是:
我是否应该在 eth0 而不是 eth1 中设置互联网访问接口,并让 DMZ 接口成为第一张卡?
我应该为每个接口建立一个路由表,还是只用一个路由表就可以完成该场景?
DMZ 内计算机的互联网访问是临时的(由于组织中的安全策略),一旦维护完成,就必须删除互联网访问。是否可以通过“down”到相应的接口来从接口文件中完成此操作,还是应该从服务器中物理删除该接口?
提前致谢。