我正在运行一个 Ubuntu 18.04 服务器,它有 2 个 NIC,都有静态 IP,如下面的 yaml 所示。
NIC 1 (enp5so) 连接到 192.168.46.1 上的路由器。两个 NIC 均运行正常,NIC 1 能够通过路由器访问互联网,并且可以通过 NIC 2 (enp2so / 192.168.48.1) 使用 ssh 访问服务器,没有任何问题,但无法从 NIC 2 访问互联网。
如何路由从 NIC 2 到 NIC 1 的流量以访问互联网?下面还显示了 iptables 列表。
yaml:
/etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
enp5s0:
dhcp4: no
dhcp6: no
addresses: [192.168.46.2/24]
gateway4: 192.168.46.1
nameservers:
addresses: [192.168.46.1, 8.8.8.8, 8.8.4.4]
enp2s0:
addresses: [192.168.48.1/24]
gateway4: 192.168.46.1
nameservers:
addresses: [192.168.46.1, 8.8.8.8, 8.8.4.4]
iptables:
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A TCP -p tcp -m tcp --dport 7822 -j ACCEPT
-A TCP -p tcp -m tcp --dport 5901 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A TCP -p tcp -m tcp --dport 137 -j ACCEPT
-A TCP -p tcp -m tcp --dport 138 -j ACCEPT
-A TCP -p tcp -m tcp --dport 139 -j ACCEPT
-A TCP -p tcp -m tcp --dport 445 -j ACCEPT
-A TCP -p tcp -m tcp --dport 8443 -j ACCEPT