网络系统管理Linux环境——ROUTERSRV之IPTABLES

2024-09-14 13:45:34 浏览数 (1)

题目要求

服务器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

0 人点赞