Linux操作系统基础进阶练习题
Linux防火墙及NAT
[日期:2009-06-01]
来源:Linux社区
作者:Linux编辑
[字体:大 中 小]
1)定制策略
1.1)设定INPUT为ACCEPT
1.2)设定OUTPUT为ACCEPT
1.3)设定FORWARD为ACCEPT
参考答案:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
2)定制源地址访问策略
2.1)接收来自192.168.0.3的IP访问
2.2)拒绝来自192.168.0.0/24网段的访问
参考答案:
iptables -A INPUT -i eth0 -s 192.168.0.3 -j ACCPET
iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j DROP
3)目标地址192.168.0.3的访问给予记录,并查看/var/log/message
参考答案:
iptables -A INPUT -s 192.168.0.3 -j LOG
4)定制端口访问策略
4.1)拒绝任何地址访问本机的111端口
4.2)拒绝192.168.0.0/24网段的1024-65534的源端口访问SSH
参考答案:
iptables -A INPUT -i eth0 -p tcp --dport 111 -j DROP
iptables -A INPUT -i eth0 -p tcp -s 192.168.0.0/24 --sport 1024:65534 --dport ssh -j DROP
5)定制CLIENT端的防火墙访问状态
5.1)清除所有已经存在的规则;
5.2)设定预设策略,除了INPUT设为DROP,其他为ACCEPT;
5.3)开放本机的lo可以自由访问;
5.4)设定有相关的封包状态可以进入本机;
参考答案:
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
6)定制防火墙的MAC地址访问策略
6.1)清除所以已经存的规则;
6.2)将INPUT设为DROP
6.3)将目标计算机的MAC设为ACCEPT
参考答案:
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -A INPUT -m mac --mac-source 00-C0-9F-79-E1-8A -j ACCEPT
7)设定ICMP包,拒绝除192.168.6.0网段的所有ICMP数据包进入服务器
参考答案:
iptables -A INPUT -s ! 192.168.6.0 -p icmp -j DROP
8)定制防火墙的NAT访问策略
8.1)清除所有策略
8.2)重置ip_forward为1
8.3)通过MASQUERADE设定来源于192.168.6.0网段的IP通过192.168.6.217转发出去
8.4)通过iptables观察转发的数据包
参考答案:
iptables -F
iptables -X
iptables -Z
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.6.0 -o 192.168.6.217 -j MASQUERADE
iptables -L -nv
9)定制防火墙的NAT访问策略
9.1)清除所有NAT策略
9.2)重置ip_forward为1
9.3)通过SNAT设定来源于192.168.6.0网段通过eth1转发出去
9.4)用iptables观察转发的数据包
参考答案:
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.6.217
iptables -L -nv
10)端口转发访问策略
10.1)清除所有NAT策略
10.2)重置ip_forward为1
10.3)通过DNAT设定为所有访问192.168.6.217的22端口,都访问到192.168.6.191的22端口
10.4)设定所有到192.168.6.191的22端口的数据包都通过FORWARD转发
10.5)设定回应数据包,即通过NAT的POSTROUTING设定,使通讯正常
参考答案:
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -d 192.168.6.217 -p tcp --dport 22 -j DNAT --to-destination 192.168.6.191:22
iptables -A FORWARD -p tcp -d 192.168.6.191 --dport 22 -j ACCEPT
iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE