Linux学习(二十八)iptables (二) iptables规则语法

查看iptables规则:

[root@ruanwenwu-0002 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1786  140K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    1    64 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
  122 10168 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 1513 packets, 135K bytes)
 pkts bytes target     prot opt in     out     source               destination    

在这条命令中我们没有指定表名,那么它显示的 就是filter表的规则。现在我们还没有写任何的规则,那么它读取的就是默认的规则。我们可以在/etc/sysconfig/iptables中看到默认的规则。

vim /etc/sysconfig/iptables:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

指定表:

[root@ruanwenwu-0002 ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 49 packets, 4222 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 1 packets, 64 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 1 packets, 71 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 1 packets, 71 bytes)
 pkts bytes target     prot opt in     out     source               destination       

清空规则:

[root@ruanwenwu-0002 ~]# iptables -F
[root@ruanwenwu-0002 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 43 packets, 3132 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 29 packets, 2516 bytes)
 pkts bytes target     prot opt in     out     source               destination         

清空规则后,如果不保存,重启后将恢复到原来的规则。

保存:

[root@ruanwenwu-0002 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]
[root@ruanwenwu-0002 ~]# vim /etc/sysconfig/iptables

重启服务:

[root@ruanwenwu-0002 ~]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service

将计数器清零:

[root@iZ25lzba47vZ ~]# iptables -nvL
Chain INPUT (policy ACCEPT 18M packets, 2965M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 15M packets, 5501M bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@iZ25lzba47vZ ~]# iptables -Z
[root@iZ25lzba47vZ ~]# iptables -nvL
Chain INPUT (policy ACCEPT 49 packets, 2984 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 33 packets, 2456 bytes)
 pkts bytes target     prot opt in     out     source               destination         

添加一条规则:

iptables -A INPUT -s 110.229.26.253 --dport 80 REJECT

这条规则的意思是把进入INPUT链的ip是110.229.26.253访问80端口的请求给拒绝。简而言之就是不让这个ip访问我们的80端口。

删除上面那条规则:

iptables -D INPUT -s 110.229.26.253 --dport 80 REJECT

除了这样删除之外,还有另一种删除方法:

首先得到这条规则的序号:

[root@iZ25lzba47vZ ~]# iptables -nvL --line-numbers
Chain INPUT (policy ACCEPT 2462 packets, 554K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      277 22324 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 20,21,80

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2457 packets, 562K bytes)
num   pkts bytes target     prot opt in     out     source               destination     

然后根据序列号删除:

[root@iZ25lzba47vZ ~]# iptables -D INPUT 1
[root@iZ25lzba47vZ ~]# iptables -nvL
Chain INPUT (policy ACCEPT 48 packets, 3008 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 35 packets, 3614 bytes)
 pkts bytes target     prot opt in     out     source               destination         

除了用-A来添加规则,我们还可以用-I来添加规则,它的意思是,将规则插入到最前面:

[root@iZ25lzba47vZ ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP
[root@iZ25lzba47vZ ~]# iptables -nvL
Chain INPUT (policy ACCEPT 71 packets, 4425 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   74  6216 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 55 packets, 11135 bytes)
 pkts bytes target     prot opt in     out     source               destination    

这条规则的作用是不让别人Ping你的机器。

看看前后Ping的状态:

#设置iptables之前
[root@ruanwenwu-0002 ~]# ping 101.200.168.135 PING 101.200.168.135 (101.200.168.135) 56(84) bytes of data. 64 bytes from 101.200.168.135: icmp_seq=1 ttl=128 time=16.1 ms 64 bytes from 101.200.168.135: icmp_seq=2 ttl=128 time=13.7 ms 64 bytes from 101.200.168.135: icmp_seq=3 ttl=128 time=13.2 ms ^C --- 101.200.168.135 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 13.252/14.370/16.135/1.262 ms
#设置之后 [root@ruanwenwu
-0002 ~]# ping 101.200.168.135 PING 101.200.168.135 (101.200.168.135) 56(84) bytes of data.

设置链的默认状态:

[root@iZ25lzba47vZ ~]# iptables -P INPUT ACCEPT
[root@iZ25lzba47vZ ~]# iptables -nvL
Chain INPUT (policy ACCEPT 45 packets, 2732 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  212 17808 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 31 packets, 3454 bytes)
 pkts bytes target     prot opt in     out     source               destination   

 

转载于:https://www.cnblogs.com/doubilaile/p/8097726.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值