iptables实例用法 添加指定规则

  • iptables新增规则案例
[root@nianhua ~]# vim /usr/local/sbin/iptables.sh #新建sh脚本
##########复制如下命令#############
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F #删除默认规则
$ipt -P INPUT DROP #修改INPOT默认规则为丢弃
$ipt -P OUTPUT ACCEPT #修改OUTPUT默认规则为通过
$ipt -P FORWARD ACCEPT #修改FORWARD默认规则为通过
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
$ipt -A INPUT -s 192.168.131.0/24 -p tcp --dport 22 -j ACCEPT #新增一条指定192.168.131.0/24段的ip且通讯端口为22端口的通过
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT #指定放行80端口
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT #指定放行21端口
  • 运行sh脚本添加规则
[root@nianhua ~]# sh /usr/local/sbin/iptables.sh
[root@nianhua ~]# iptables -vnL
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   41  2900 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       192.168.131.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

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

Chain OUTPUT (policy ACCEPT 33 packets, 4500 bytes)
 pkts bytes target     prot opt in     out     source               destination  
  • 注意:因为规则没有保存,则在再次启动服务时会被原本配置文件中的规则覆盖。
  • 在sh脚本中追加保存命令
#! /bin/bash
ipt="/usr/sbin/iptables"
$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.131.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -s 192.168.131.0/24 -p tcp --dport 3306 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
service iptables save #追加保存规则命令
  • icmp示例
    使用改行命令将启用禁ping,服务器可以ping通外部ip,但是ip机器无法ping服务器ip
 iptables -I INPUT -p icmp --icmp-type 8 -j DROP

你可能感兴趣的:(Linux)