SNAT端口转发配置

需求说明

在只有外网地址的机器上也能正常访问内网地址

配置过程

环境网络信息

网络名称 网络地址
外网 192.168.200.0/24 (网关:192.168.200.251)
内网 92.0.0.0/24

SNAT服务器信息

# ip addr show ens3
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:4a:b3:8b brd ff:ff:ff:ff:ff:ff
    inet 92.0.0.10/24 brd 92.0.0.255 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe4a:b38b/64 scope link
       valid_lft forever preferred_lft forever

# ip addr show ens4
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:6a:e2:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.10/24 brd 192.168.200.255 scope global ens4
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe6a:e2ff/64 scope link
       valid_lft forever preferred_lft forever

# ip route
default via 192.168.200.1 dev ens4
92.0.0.0/24 dev ens3  proto kernel  scope link  src 92.0.0.10
169.254.0.0/16 dev ens3  scope link  metric 1002
169.254.0.0/16 dev ens4  scope link  metric 1003
172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1
192.168.200.0/24 dev ens4  proto kernel  scope link  src 192.168.200.10

开启转发

# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

添加转发规则

### ens3为内网网卡,ens4为外网网卡
# iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
### 内网到外网需要建立连接才放行
# iptables -A FORWARD -i ens3 -o ens4 -m state --state RELATED,ESTABLISHED -j ACCEPT
### 外网到内网直接放行
# iptables -A FORWARD -i ens4 -o ens3 -j ACCEPT
# iptables-save > /etc/sysconfig/iptables.save

验证配置

### 在外网机器上添加路由
# ip route add 92.0.0.0/24 via 192.168.200.10
posted @ 2017-10-14 09:50  银魔术师  阅读(1169)  评论(0编辑  收藏  举报