iptables

网络安全,先来说一下host.allow,host.deny

这两个文件在大多数linux系统中都存在,其作用是对主机进行访问控制。

只在如下情况下才用得上这两个文件:

  • xinet管控的服务
  • 调用了libwrap.so的服务

如何确定一个服务是否调用了libwrap.so

使用ldd命令,ldd列出程序依赖的共享库

iptables练习题

1.1)设定INPUT为ACCEPT
1.2)设定OUTPUT为ACCEPT
1.3)设定FORWARD为ACCEPT
答案:

  1. iptables -P INPUT ACCEPT
  2. iptables -P OUTPUT ACCEPT
  3. iptables -P FORWARD ACCEPT

2)定制源地址访问策略
2.1)接收来自192.168.0.3的IP访问
2.2)拒绝来自192.168.0.0/24网段的访问

  1. iptables -A INPUT -s 192.168.0.3 -j ACCEPT
  2. iptables -A INPUT -s 192.168.0.0/24 -j DROP


3)目标地址192.168.0.3的访问给予记录,并查看/var/log/message

  1. iptables -A OUTPUT -d 192.168.0.3 -j LOG
    //测试过正确


4)定制端口访问策略
4.1)拒绝任何地址访问本机的111端口
4.2)拒绝192.168.0.0/24网段的1024-65534的源端口访问SSH

  1. iptables -A INPUT -p tcp -dport 111 -j DROP
  2. iptables -A INPUT -p udp -dport 111 -j DROP
  3. iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 1024:65534 --dport 22 -j DROP


5)定制CLIENT端的防火墙访问状态
5.1)清除所有已经存在的规则;
5.2)设定预设策略,除了INPUT设为DROP,其他为ACCEPT;
5.3)开放本机的lo可以自由访问;
5.4)设定有相关的封包状态可以进入本机;

  1. iptables -F
  2. iptables -X
  3. iptables -Z
  4. iptables -t nat -F
  5. iptables -t nat -X
  6. iptables -t nat -Z
  7. iptables -P INPUT DROP
  8. iptables -A INPUT -o lo -j ACCEPT
  9. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


6)定制防火墙的MAC地址访问策略
6.1)清除所有已存的规则
6.2)将INPUT设为DROP
6.3)将目标计算机的MAC设为ACCEPT

  1. iptables -F
  2. iptables -Z
  3. iptables -X
  4. iptables -t nat -F
  5. iptables -t nat -Z
  6. iptables -t nat -X
  7. iptables -P INPUT DROP
  8. iptables -A INPUT -m MAC --mac-source ee-ee-ee-ee-ee-ee -j ACCEPT
    //这个没有成功


7)设定ICMP包,状态为8的被DROP掉

  1. iptables -A INPUT -p icmp --icmp-type 8 -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观察转发的数据包

  1. iptables -F
  2. iptables -Z
  3. iptables -X
  4. iptables -t nat -F
  5. iptables -t nat -Z
  6. iptables -t nat -X
  7. echo 1 > /proc/sys/net/ipv4/ip_forward
  8. iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
  9. iptables -nv
    //这个需要记住


9)定制防火墙的NAT访问策略
9.1)清除所有NAT策略
9.2)重置ip_forward为1
9.3)通过SNAT设定来源于192.168.6.0网段通过eth1转发出去
9.4)用iptables观察转发的数据包

  1. echo 1 > /proc/sys/net/ipv4/ip_forward
  2. iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.6.217
  3. iptables -L -vn

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设定,使通讯正常

  1. lue
  2. lue
  3. iptables -t nat -A PREROUTING -s 192.168.6.217 -p tcp --sport 22 -j DNAT --to-destination 192.168.6.191:22
  4. iptables -t filter -A FORWARD -d 192.168.6.191 -p tcp --dport 22 -j ACCEPT
  5. iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE
    //这个没有做,不明白什么意思

来源:

http://www.centos.bz/2012/08/iptables-exercises/

原文地址:https://www.cnblogs.com/silenceli/p/3415871.html