带防火墙的多个 IP DNAT

带防火墙的多个 IP DNAT

我正在安装一个运行多个虚拟机的 vmware,我想将其中 1 个虚拟机用作路由器/防火墙,所有外部 IP 都连接到该虚拟机,并在其他虚拟机上运行不同的服务,如 apache ftp postfix ...我对这个 iptable 有点困惑,你可以看到具有外部 IP 的两个接口具有相同的 mac,我可以更改它,但不确定这是否会有所不同,提供商将它们称为“故障转移 IP”,我可以订购任意数量的虚拟机

route -n 显示以下内容,不确定为什么没有 ens35 的条目?!

Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         163.172.64.1    0.0.0.0         UG    0      0        0 ens33
    100.200.30.1    0.0.0.0         255.255.255.255 UH    0      0        0 ens33
    192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 ens34

执行完以下命令后,我可以通过 ssh 从两个 IP(1.2.3.240 / 11.22.33.50)访问路由器,但再也无法访问了(其他 IP 仍然有效),我也无法通过 ssh 访问另一台机器,也就是练习的目标

# iptables -t nat -A PREROUTING -d 11.22.33.50 -j DNAT --to 192.168.0.250
# iptables -t nat -A POSTROUTING -s 192.168.0.250 -j SNAT --to 11.22.33.50

有人看到我的错误了吗?只要我理解上面的内容,那么从 11.22.33.50 传入的所有内容都应该路由到另一台虚拟机,而另一台虚拟机发送的所有内容都应该转发,就好像它来自 11.22.33.50 一样

路由器的 /ETC/NETWORK/INTERFACE/

auto lo
iface lo inet loopback

auto ens33
iface ens33 inet static
        address 1.2.3.240
        netmask 255.255.255.255
        broadcast 1.2.3.240
        dns-nameservers 62.210.16.6 62.210.16.7
        post-up route add 100.200.300.1 dev ens33
        post-up route add default gw 100.200.30.1
        post-down route del 100.200.300.1 dev ens33
        post-down route del default gw 100.200.30.1

auto ens34
iface ens34 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        broadcast 192.168.0.255

auto ens35
iface ens35 inet static
        address 11.22.33.50
        netmask 255.255.255.255
        broadcast 11.22.33.50
        dns-nameservers 62.210.16.6 62.210.16.7
        post-up route add 100.200.300..1 dev ens33
        post-up route add default gw 100.200.30.1
        post-down route del 100.200.300.1 dev ens33
        post-down route del default gw 100.200.30.1

IFCONFIG :路由器的

ens33     Link encap:Ethernet  HWaddr 00:50:56:00:ed:e4
          inet addr:1.2.3.240  Bcast:1.2.3.240  Mask:255.255.255.255
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17467 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1154 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1124709 (1.1 MB)  TX bytes:236195 (236.1 KB)

ens34     Link encap:Ethernet  HWaddr 00:0c:29:8b:73:4c
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

ens35     Link encap:Ethernet  HWaddr 00:50:56:00:ed:e4
          inet addr:11.22.33.50  Bcast:11.22.33.50  Mask:255.255.255.255
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17461 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1124367 (1.1 MB)  TX bytes:1040 (1.0 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

第二台机器的 /ETC/NETWORK/INTERFACE/

auto lo
iface lo inet loopback

auto ens34
iface ens34 inet static
        address 192.168.0.250
        netmask 255.255.255.0
        broadcast 192.168.0.255
    geteway 192.168.0.1
    network 192.168.0.0
    dns-nameservers 62.210.16.6 62.210.16.7

IFCONFIG :第二台机器

ens34     Link encap:Ethernet  HWaddr 00:0c:29:60:4a:1a
          inet addr:192.168.0.250  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: xxx Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:414 (414.0 B)  TX bytes:1062 (1.0 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

答案1

看起来我得到了一些信息!

关键在于 ubuntu 默认禁用了路由

echo 1 > /proc/sys/net/ipv4/ip_forward 这将启用路由直到重新启动

并更改 /etc/sysctl.conf net.ipv4.ip_forward = 0 --to-> 1 应该可以永久启用它(尚未测试)

这是 NAT 的基本设置,但我测试了我的 DNAT 设置,它们似乎可以工作 http://www.revsys.com/writings/quicktips/nat.html

仍然不确定我是否需要唯一的 MAC 地址,但目前还不需要

相关内容