内网服务器在局域网中,其中有几台主机需要对外服务,选用端口映射的方式,将配有公网 IP 的主机端口映射到后端内网主机中;
1、开启内核转发:
vim /etc/sysctl.conf
修改
############################################################################
net.ipv4.ip_forward = 1
############################################################################
打开 ip forward 功能,sysctl -p 生效;
2、配置 iptable NAT 映射
############################################################################
iptables -t nat -I PREROUTING -d 192.168.1.3 -p tcp --dport 80 -j DNAT --to 192.168.1.5:80
iptables -t nat -I POSTROUTING -d 192.168.1.5 -p tcp --dport 80 -j SNAT --to 192.168.1.3
############################################################################
iptables -t nat -nvL 查看添加的规则
192.168.1.3 是公网 IP 绑定的主机的内网 IP,192.168.1.5 是内网主机的内网 IP;
3、iptables 有五条规则链
PREROUTING(路由前)、INPUT(数据包流入口)、FORWARD(转发管卡)、OUTPUT(数据包出口)、POSTROUTING(路由后)
nat 一般只能作用于 PREROUTING、OUTPUT、POSTROUTING 三条链上;
可以通过 iptables-save > /etc/sysconfig/iptables
保存配置的规则
PS:阿里云可以通过配置安全组规则来限制出入;