image.png
    server1 server3通讯条件:
    1.gateway双网卡 保障物理联通
    2.gateway开启 ip forward
    3.server1设置网关为 gateway server3设置网关为gateway

    nat场景(地址转换):
    1.server1网关为gateway
    2.server3网关不为gateway
    server1需要访问server3? 那么久需要在gateway上将server1的ip地址转换为server3的网段,即192.168.200.10。

    SNAT 使用iptables转换:

    1. # PREROUTING 包进入主机前 POSTROUTING 包转发出主机前
    2. # -j SNAT(source network address transport) 修改源地址
    3. # -to-source 192.168.200.10 指定新的源地址为 192.168.200.10
    4. # 将源地址是192.168.100.0/24的包 在转发出主机前 从ens33出去时 修改源地址为 192.168.200.10
    5. iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 192.168.200.10

    image.png

    MASQUERADE** 地址伪装 外网IP地址非固定的情况下,source ip地址经常变动

    1. # -j MASQUERADE
    2. # -j SNAT --to-source 192.168.200.10
    3. # 地址伪装
    4. iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o ens34 -j MASQUERADE

    DNAT 目标地址转换
    实现server3 访问内网server1上的服务

    1. # PREROUTING 进入主机转发前
    2. # -j DNAT --to-destination 192.168.100.10 修改目的地址为192.168.100.10
    3. # 将从ens33网口进来的数据 在进入主机前 如果目的地址是 192.168.200.10 目的端口是22的流量 修改目的地址为 192.168.100.10
    4. iptables -t nat -A PREROUTING -i ens33 -d 192.168.200.10 -p tcp --dport 22 -j DNAT --to-destination 192.168.100.10

    修改内网映射端口

    1. # 将访问目的地址是 192.168.200.10 端口为2345的数据包 目的地址修改为 192.168.100.10:22
    2. iptables -t nat -A PREROUTING -i ens33 -d 192.168.200.10 -p tcp --dport 2345 -j DNAT --to-destination 192.168.100.10:22