Routing
從私有介面路由到公共介面
我們的伺服器有兩個介面,一個用於通過網際網路連接,另一個用於內部網路。
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
我還不得不說,VM(例如 10.1.1.3)能夠 ping 專用介面 10.1.1.1,但無法 ping 8.8.8.8。
您很可能應該使用 NAT。
使用以下規則:
iptables -t nat -A POSTROUTING -o enp12s0f1 -j MASQUERADE