题目要求
服务器RouterSrv上的工作任务
6. IPTABLES
添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。
INPUT、OUTPUT和FOREARD链默认拒绝(DROP)所有流量通行。
项目实施
SNAT 规则:
代码语言:javascript复制iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
iptables -t nat -nvL POSTROUTING
DNAT 规则:
代码语言:javascript复制iptables -t nat -A PREROUTING -p udp -d 81.6.63.254 --dport 53 -j DNAT --to 192.168.100.1
iptables -t nat -A PREROUTING -p tcp -d 81.6.63.254 -m multiport --dport 53,80,443,465,993
iptables -t nat -A PREROUTING -p tcp -d 81.6.63.254 -m multiport --dport 20,21,4500:5000 -
iptables -t nat -nvL PREROUTING
放行必要流量:
代码语言:javascript复制iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 2021,22 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 67,123,1194 -j ACCEPT
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dport 20,21,53,80,443,456,993,4500:5000 -j ACCEP
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.0.0/24 -d 192.168.100.200 -m multiport --dport 137,1
iptables -A FORWARD -s 172.16.0.0/24 -d 192.168.0.0/24 -j ACCEPT
常见用法:
代码语言:javascript复制查看规则
iptables -L
清除所有规则
iptables -F
保存规则
iptables-save > /etc/iptables.conf
载入保存的规则
iptables-restore </etc/iptables.conf
iptables -t nat -D POSTROUTING 1 删除NAT条目
添加转换地址:(服务器IP为192.168.0.100)
代码语言:javascript复制# 清空所有规则和计数器
iptables -F
iptables -X
# 设置默认策略为DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# 允许内部客户端访问互联网区域
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
# 允许外部客户端访问DNS服务(端口53)
iptables -A FORWARD -p udp -m udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 53 -j ACCEPT
# 允许外部客户端访问Mail服务(端口25、110、143、465、993和995)
iptables -A FORWARD -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 143 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 465 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 993 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 995 -j ACCEPT
# 允许外部客户端访问Web服务(端口80和443)
iptables -A FORWARD -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -m tcp --dport 443 -j ACCEPT
# 允许外部客户端访问FTP服务(端口21)
iptables -A FORWARD -p tcp -m tcp --dport 21 -j ACCEPT
# 开启NAT功能
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE