![如何在 ubuntu 服务器 16.04 LTS 中的两个接口之间转发 IP?](https://linux22.com/image/1522154/%E5%A6%82%E4%BD%95%E5%9C%A8%20ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%2016.04%20LTS%20%E4%B8%AD%E7%9A%84%E4%B8%A4%E4%B8%AA%E6%8E%A5%E5%8F%A3%E4%B9%8B%E9%97%B4%E8%BD%AC%E5%8F%91%20IP%EF%BC%9F.png)
我正在准备带有 2 个接口的 ubuntu 路由器
enp2s0(连接到 ISP WAN)
enp2s8(内部 LAN 网络和 DHCP 服务器及 DNS 服务器)
我的接口配置(/etc/network/interfaces)是:
auto enp2s8
iface enp2s8 inet static
address 192.168.5.1
netmask 255.255.255.0
broadcast 192.168.5.255
allow-hotplug enp2s0
auto enp2s0
iface enp2s0 inet static
address 192.168.5.111
netmask 255.255.255.0
gateway 192.168.5.5
dns-nameserver 8.8.8.8 8.8.4.4
route
给出:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.5.5 0.0.0.0 UG 0 0 0 enp2s0
192.168.5.0 * 255.255.255.0 U 0 0 0 enp2s0
192.168.5.0 * 255.255.255.0 U 0 0 0 enp2s8
ip route
给出:
default via 192.168.5.5 dev enp2s0 onlink
192.168.5.0/24 dev enp2s0 proto kernel scope link src 192.168.5.111
192.168.5.0/24 dev enp2s8 proto kernel scope link src 192.168.5.1 linkdown
我无法从界面访问互联网enp2s8.ping -I enp2s8 google.com
给出:
PING google.com (202.51.65.52) from 192.168.5.1 enp2s8: 56(84) bytes of data.
From olerouter.olenepal.local (192.168.5.1) icmp_seq=1 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=2 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=3 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=4 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=5 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=6 Destination Host Unreachable
From olerouter.olenepal.local (192.168.5.1) icmp_seq=7 Destination Host Unreachable
但ping -I enp2s0 google.com
输出:
PING google.com (202.51.67.32) from 192.168.5.111 enp2s0: 56(84) bytes of data.
64 bytes from cache.google.com (202.51.67.32): icmp_seq=1 ttl=59 time=1.45 ms
64 bytes from cache.google.com (202.51.67.32): icmp_seq=2 ttl=59 time=1.32 ms
我是 UFW 新手,无法在接口之间转发 IP。提前致谢
答案1
通过混淆真实 IP 地址并192.168.5.0/24
在 和 上使用相同的网络enp2s8
,enp2s0
您的问题会变得有些混乱。但是,一旦您在 上配置了正确的网络enp2s0
,启用 IPv4 转发 ( sysctl -w net.ipv4.ip_forward=1
) 并使用 来配置 SNAT(来自您192.168.5.0/24
网络的数据包上的源 IP 需要更改为 上配置的可公开路由的 IP 地址enp2s0
)iptables
,您就可以开始了。