伪装允许只有私有 IP 地址的访客使用主机 IP 地址来访问网络,以处理传出流量。每个传出数据包都会被重写 iptables ,使其看起来来自主机,响应也会相应地被重写以路由到原始发件人。

auto lo
iface lo inet loopback

auto eno1
#real IP address
iface eno1 inet static
        address  198.51.100.5/24
        gateway  198.51.100.1

auto vmbr1
#private sub network
iface vmbr0 inet static
        address  10.10.10.1/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
        post-up   iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
        post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1

其中 vmbr1 为 NAT 网桥,网桥 IP 为 10.10.10.0/24 ,该网段流量会被转换为 eno1 网卡的 IP 发出,并在收到回复保温时转换为原始 IP,实现共享外部 IP 的目标。

重载网络配置使其生效:

ifreload -a

实测立刻可以生效,VM 中配置该段 IP 并将 10.10.10.1 作为网关即可,也可根据需要配置 dnsmasq 之类的实现 DHCP 自动分配 IP。

References

最后修改:2025 年 03 月 04 日
如果觉得我的文章对你有用,请随意赞赏