要求
要求1:
1、修改本机ip为合适IP地址
2、编写脚本iptest.sh,功能如下:
3、iptest.sh清空所有存在的规则;
4、只开放22号端口(ssh、tcp);
5、禁止发送icmp包;
6、INPUT默认规则为DROP;
7、OUTPUT默认规则为ACCEPT;
8、FORWARD默认规则为DROP ;
9、iptest.sh能随系统启动。
要求2:
编写脚本iptest2.sh,功能如下:
1、iptest2.sh不清空所有存在的规则的情况下;
2、允许output链icmp通过;
3、禁止input链22号服务。
知识点
filter表
filter表是默认的表,如果不指明表则使用此表。其通常用于过滤数据包。其中的内建链包括:
INPUT,输入链。发往本机的数据包通过此链。
OUTPUT,输出链。从本机发出的数据包通过此链。
FORWARD,转发链。本机转发的数据包通过此链。
完整代码
iptest.sh
##!/bin/sh
echo "iptables test script"
echo "clear iptables"
iptables -F # 清空所有的防火墙规则
iptables -X # 删除用户自定义的空链
iptables -Z # 清空计数
echo "accept 22nd port"
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
echo "drop icmp"
iptables -I OUTPUT -p icmp -j DROP
echo "set input policy"
iptables -P INPUT DROP
echo "set output policy"
iptables -P OUTPUT ACCEPT
echo "set forward policy"
iptables -P FORWARD DROP
iptest2.sh
###!/bin/sh
echo "iptest2.sh"
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
iptables -D OUTPUT -p icmp -j DROP
iptables -A INPUT -p icmp --icmp 0 -j ACCEPT