iptables防火墙练习
1.使得只有192.168.0.x和192.168.0.y 的机器可以连接您的pop3服务器。但同一网段的其他人不行。 【题解:POP3是接收服务器,默认端口110;SMTP是发送服务器,默认端口25】 #!/bin/bash for i in net filter mangle do iptables -t $i -F iptables -t $i -X done ip = "192.168.0" iptables -t filter -A INPUT -p tcp -s $ip.x --dport 110 -j ACCEPT iptables -t filter -A INPUT -p tcp -s $ip.y --dport 110 -j ACCEPT iptables -t filter -A INPUT -p tcp -s $ip.0/24 --dport 110 -j REJECT -------------------------------------------------------------------- 2.设置缺省策略为INPUT和OUTPUT拒绝全部,但:允许你对你自己的ip地址(192.168.0.11和127.0.0.1)进行任何访问。 #!/bin/bash for i in net filter mangle do iptables -t $i -F iptables -t $i -X done iptables -A INPUT -s 192.168.0.11 -j ACCEPT iptables -A OUTPUT -d 192.168.0.11 -j ACCEPT iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT iptables -P INPUT REJECT iptables -P OUTPUT REJECT #iptables -A INPUT -j REJECT #iptables -A OUTPUT -j REJECT -------------------------------------------------------------------- 3.只允许某2人即两台主机可以telnet你,例如其中一台为192.168.0.123 #!/bin/bash for i in net filter mangle do iptables -t $i -F iptables -t $i -X done ip = "192.168.0" iptables -A INPUT -s ip.123 --dport 23 -j ACCEPT iptables -A INPUT -s ip.x --dport 23 -j ACCEPT iptables -A INPUT --dport 23 -j REJECT -------------------------------------------------------------------- 4.允许某2人每秒钟ping你1次 【题解:查询得知ping type=8】 #!/bin/bash iptables -F iptables -t nat -F iptables -X iptables -t nat -X iptables -A INPUT -s 192.168.1.x -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT iptables -A INPUT -s 192.168.1.y -p icmp --icmp-type 8 -m limit --limit 1/s -j ACCEPT -------------------------------------------------------------------- 5.允许您主动访问任何人 #!/bin/bash iptables -F iptables -t nat -F iptables -X iptables -t nat -X iptables -A OUTPUT -p tcp --tcp-flags SYN,ACK,RST SYN -j ACCEPT iptables -A INPUT -p tcp --tcp-flags SYN,ACK,RST SYN -j REJECT -------------------------------------------------------------------- 6.Test01 用户可以使用自己的ip地址作测试用途,但不能访问其他的任何ip -------------------------------------------------------------------- 7.Test02 用户可以访问任意地址 #!/bin/bash iptables -F iptables -t nat -F iptables -X iptables -t nat -X iptables -A INPUT -s Test02 -j ACCEPT iptables -P INPUT REJECT -------------------------------------------------------------------- 8.定义一个自定义规则,对所有访问您23端口的动作进行日志。 #!/bin/bash iptables -F iptables -t nat -F iptables -X iptables -t nat -X iptables -A INPUT --dport 23 -j LOG --log-level info --log-prefix "iptables"