liunx中的iptables

   作者:邓聪聪 

 iptables的入站端口放行策略:

1:
iptables -A INPUT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 993 -j ACCEPT iptables -A INPUT -p tcp --dport 995 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -s 118.188.0.0/16 -p tcp -m tcp --dport 22 -j ACCEPT iptables -A INPUT -j DROP
2:

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -s 118.188.20.0/24 -j ACCEPT
iptables -I INPUT -s 123.115.85.16/29 -j ACCEPT
iptables -I INPUT -s 1.81.0.0/22 -j ACCEPT
iptables -I INPUT -s 113.200.0.0/16 -j ACCEPT
iptables -A INPUT -j DROP

  Cents7 安装iptables的应用 :yum -y install iptables-services

利用liunx的iptables进行目的地址转换和源地址转换

!!!需要开启内核转发

echo 1 >/proc/sys/net/ipv4/ip_forward 

SNAT:

假如我要让公司192.168.10.0/24段的地址都通过linux服务器的eth0 :123.123.123.123上网

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 123.123.123.123

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to 123.123.123.123   #更改所有来自192.168.1.0/24的数据包的源ip地址为123.123.123.123

DNAT:

eth0:123.123.123.123

GATEWAY eth1:192.168.10.1 内网主机:192.168.10.10

要使访问123.123.123.123的80 自动跳到192.168.10.10的80端口上

iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 --dport 80 -j DNAT --to-destination 192.168.10.10:80

iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.10 --dport 80 -j SNAT --to-source 192.168.10.1 (内网之间进行nat才加上)

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 123.123.123.123   #更改所有来自192.168.1.0/24的数据包的目的ip地址为123.123.123.123 

第一条:将外部数据包的目的地址改到内网主机的指定端口
第二条:转发前,将外部源地址改为内网本地地址

原文地址:https://www.cnblogs.com/dengcongcong/p/8795194.html