从私有接口到公共接口的路由

从私有接口到公共接口的路由

我们的服务器有两个接口,一个用于通过互联网连接,另一个用于内部网络连接。

172.20.54.10 -> Interface with static ip for connecting through internet
10.1.1.1     -> Internal network

可以看到以下配置

$ ip route
default via 172.20.54.1 dev enp12s0f1 proto static metric 20100
10.1.1.0/24 dev enp12s0f0 proto kernel scope link src 10.1.1.1 metric 101
169.254.0.0/16 dev enp12s0f1 scope link metric 1000
172.20.54.0/24 dev enp12s0f1 proto kernel scope link src 172.20.54.10 metric 100
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp12s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:81:e4:84:84 brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.1/24 brd 10.1.1.255 scope global noprefixroute enp12s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::a424:72eb:4702:8f86/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp12s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:e0:81:e4:84:85 brd ff:ff:ff:ff:ff:ff
    inet 172.20.54.10/24 brd 172.20.54.255 scope global noprefixroute enp12s0f1
       valid_lft forever preferred_lft forever
    inet6 fe80::b0cf:3f53:bb4e:d836/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

内部网络包含一些具有 10.1.1.X IP 地址的虚拟机,它们似乎没有通过服务器的公共接口连接到互联网。服务器是 Ubutnu 20.04。

我是否应该为 IP 转发配置其他内容?

更新:

ip_forward在内核中启用

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

我还必须说,虚拟机(例如 10.1.1.3)能够 ping 私有接口 10.1.1.1,但无法 ping 8.8.8.8。

在此处输入图片描述

答案1

您很可能应该使用 NAT。

使用以下规则:

iptables -t nat -A POSTROUTING -o enp12s0f1 -j MASQUERADE

相关内容