〇、通用配置

规则文件路径, 其中内容是iptables命令。

/etc/sysconfig/iptables

记录日志方法

-A INPUT -p tcp -m state --state NEW -j LOG --log-level alert --log-prefix "[IPTABLES INPUT DROP] "
-A INPUT -p tcp -m state --state NEW -j DROP

一、访问控制

端口放行

# 允许所有访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许10.0.0.0/8访问22端口
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 22 -j ACCEPT
# 放行多个不连续的端口
iptables -A INPUT -p tcp -m multiport --dport 8080,8800,8585,8887,8890,8899 -j ACCEPT
#放行多个连续的端口
iptables -A INPUT -p tcp -m tcp --dport 50000:50009 -j ACCEPT

# 允许转发源地址10.10.0.0/16段流量
iptables -A FORWARD -s 10.10.0.0/16 -j ACCEPT

保存配置

iptables-save

二、NAT设置

1、设置系统nat端口转发

vim /etc/sysctl.conf

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

sudo sysctl -p

2、配置NAT规则

1)SNAT配置

# 将172.17.2.0/24段nat成eth0网口的192.168.246.5
iptables -t nat -A POSTROUTING -s 172.17.2.0/24 -o eth0 -j SNAT --to 192.168.246.5
# 将172.17.2.0/24段nat成eth0网口的192.168.246.5-192.168.246.10
iptables -t nat -A POSTROUTING -s 172.17.2.0/24 -o eth0 -j SNAT --to 192.168.246.5-192.168.246.10
# 将172.17.2.0/24段nat到eth0网口的ip,应用于eth0网口为dhcp获取不固定的ip
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

2)DNAT配置

# 将10.10.146.128/25段访问10.10.146.245的22021端口,转换成目的172.17.4.21的22端口
iptables -t nat -A PREROUTING -s 10.10.146.128/25 -d 10.10.146.245 -p tcp --dport 22021 -j DNAT --to-destination 172.17.4.21:22