iptables filter表小案例
案例1:把80端口,22端口,21端口放行
22端口指定IP访问,其它IP拒绝。
shell脚本实现:
[root@centos7 ~]# vim /usr/local/sbin/iptables.sh
#!/bin/sh
ipt="/usr/sbin/iptables" #定义ipt 变量,绝对路径
$ipt -F # 清空之前的规则
$ipt -P INPUT DROP #拒绝接入数据包
$ipt -P OUTPUT ACCEPT #发送数据包
$ipt -P FORWARD ACCEPT #转发数据包
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 指定状态放行
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT #22端口
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT #80端口
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT #21端口
[root@centos7 ~]# sh /usr/local/sbin/iptables.sh
[root@centos7 ~]# iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
61 4156 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 192.168.133.0/24 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
案例2
自己可以ping通外网,但别人不可以ping通你:
[root@centos7 ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP
删掉该条规则即可恢复:
[root@centos7 ~]# iptables -D INPUT -p icmp --icmp-type 8 -j DROP
![](https://images.cnblogs.com/cnblogs_com/xiaobo-Linux/736394/o_erweima.png)