8月25号上课笔记
iptables语法
1、查看iptables规则:iptables -nvL
2、iptables -F 清空规则
3、service iptables save 会把规则保存到 /etc/sysconfig/iptables
4、iptables -t nat // -t 指定表(不加t,默认就是filter表)
5、iptables -Z 可以把计数器清零
(记住)6、增加一条规则:
ptables -A INPUT -s 192.168.188.1 -p tcp –sport 1234 -d 192.168.188.128 –dport 80 -j DROP
7、插入/增加/删除一条规则:
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
8、插入一条规则:
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
9、在规则前用编号显示出来:
iptables -nvL –line-numbers
10、删除编号为1的规:
iptables -D INPUT 1 则
11、默认规则:
iptables -P INPUT DROP
总结:
-A/-D :增加删除一条规则;
-I :插入一条规则,其实跟-A的效果一样;
-p :指定协议,可以是tcp,udp或者icmp;
–dport :跟-p一起使用,指定目标端口;
–sport :跟-p一起使用,指定源端口;
-s :指定源IP(可以是一个ip段);
-d :指定目的IP(可以是一个ip段);
-j :后跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包;
-i :指定网卡(不常用,但有时候能用到)
filter表:
INPUT链:作用于进入本机的包
OUTPUT链:作用于送出本机的包
FORWARD链:作用于和本机无关的包
nat表:
PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址
OUTPUT链:改变本地产生的包的目标地址
POSTROUTING链:作用是在包将离开防火墙时改变包源地址
1.查看iptables规则
iptables -nvL (此时默认查看filter表,加选项 -t 可以指定表 iptables -t nat -nvL )
(规则的保持路径: /etc/sysconfig/iptables
)
把所有规则清空 iptables -F:(/etc/sysconfig/iptables仍然是保存着的)
保存默认规则到配置文件(/etc/sysconfig/iptables)
重启一下服务:service iptables restart (因为刚刚删除了规则:iptables -F ,需要重启加载。否则无东西可保持!)
执行:service iptables save 保存
当我们添加规则的时,如果需要保存到配置文件需要保存操作(service iptables save),否则只是保持在当前的内存中。
2. iptables -Z 把计数器清零 (因为每时每刻都是在通信,数据清零一会又会有数据)
iptables -Z; iptables -nvL
3.增加/删除一条规则:
-A/-D 表示增加或删除一条规则
-I : 表示插入一条规则
-p : 指定协议(tcp、udp、icmp)
--dport 和-p一起使用,指定目标端口 (使用dport必须使用-p指定协议)
--sport 和-p一起使用,指定源端口 (使用dport必须使用-p指定协议)
-s 表示指定源IP
-d 表示指定目标ip
-j 后面加动作: (1)ACCEPT 允许包 (2)DROP 丢掉包 (3)REJECT 拒绝包
-i 指定网卡
(DROP 丢掉包 和 REJECT 拒绝包 :效果一样,DROP 丢掉包,直接把包丢弃;REJECT 拒绝包 :分析过再拒绝)
(3.1)增加规则
如:
(操作默认表filter)
iptables -A INPUT -s 192.168.136.1 -p tcp --sport 1234 -d 192.168.136.123 --dport 80 -j DROP
iptables -I INPUT -p tcp --dport 80 -j DROP
(-I 和-A 的区别 ,-I把规则插入到最前面,-A把规则添加到最后,在过滤时,先执行最前面的)
(3.2)删除规则 -D
1.(记得规则前提下删除规则,直接把选项加-D)
iptables -D INPUT -s 192.168.136.1 -p tcp --sport 1234 -d 192.168.136.123 --dport 80 -j DROP
iptables -D INPUT -p tcp --dport 80 -j DROP
(2)不记得规则命令时删除规则方法:
a.把规则的***打印出来 iptables -nvL --line-number