iptables 命令操作


iptables是基于内核的防火墙,,iptables内置了filter、nat和mangle三张表。

   filter 负责过滤数据包,包括的规则链有,input,output和forward;
   nat 表示Network Address Translator即网络地址转换,包括的规则链有,prerouting,postrouting和output;
   mangle 表则主要应用在修改数据包内容上,用来做流量整形的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING;
         input匹配目的IP是本机的数据包,forward匹配流经本机的数据包,prerouting用来修改目的地址用来做DNAT,postrouting用来修改源地址用来做SNAT。
        
-----------------------------------------------------------------------------------------------------------------------------------------------   

启动前:
[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
# 各个链中都不存在任何规则。
      
启动后:
[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           #所有输入数据包都转到 RH-Firewall-1-INPUT 链处理。

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           #所有转发数据包都转到 RH-Firewall-1-INPUT 链处理。

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain RH-Firewall-1-INPUT (2 references)                               #自定义链 RH-Firewall-1-INPUT,下面是它的规则。
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0          
ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306 flags:0x16/0x02
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
     
-----------------------------------------------------------------------------------------------------------------------------------------------
 
       
iptables 指令的基本格式:
    <iptables> [-t 表] < 操作命令 > [ 链 ] [ 规则 ] [ -j 动作 ]
    注:iptables 严格区分大小写,所有链名必须大写,表明必须小写,动作必须大写,匹配必须小写
   
iptables中的表:
    filter、nat、mangle 。不指定则默认 filter 表。
iptables操作命令:
    -A 向规则链中添加一条规则,默认被添加到末尾
    -T 指定要操作的表,默认是filter
    -D 从规则链中删除规则,可以指定序号或者匹配的规则来删除
    -R 进行规则替换
    -I 插入一条规则,默认被插入到首部,可指定插入位置顺序号,默认顺序号为1
    -F 清空所选的链,重启后恢复,如清空指定链规则 iptable -F RH-Firewall-1-INPUT
    -L 查看指定链规则,默认所用链,如查看指定链规则 iptables -L RH-Firewall-1-INPUT,或 iptables -L -n
iptables规则:
    -N 新建用户自定义的规则链
    -X 删除用户自定义的规则链
    -p 用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,
    -s 指定来源地址,如 -s 192.168.1.10 匹配来自 192.168.1.10 网络的数据包
    --sport 来源端口,端口必须-p指定协议一起来配合使用
    -d 指外出的地址,如 -d www.163.com 匹配去往 www.163.com 网络的数据包
    --dport 流出端口,端口必须-p指定协议一起来配合使用
    -i 进入接口,如 -i eth0 匹配是否从网络接口 eth0 进来
    -o 流出接口,如 -o eth0 匹配是否从网络接口 eth0 出去
iptables动作:
    ACCEPT ,允许数据包通过本链而不拦截它
    DROP ,阻止数据包通过本链而丢弃它
    SNAT ,来源地址转换,如 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1 将内网 192.168.0.0/24 的原地址修改为 1.1.1.1,用于 NAT
    DNAT ,转换外出地址,如 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.1 把从 ppp0 进来的要访问 TCP/80 的数据包目的地址改为192.168.0.1
    MASQUERADE ,动态源地址转换(动态 IP 的情况下使用),如 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE 将源地址是 192.168.0.0/24 的数据包进行地址伪装
   
   
注:iptables 规则修改后会马上生效,但重启 iptables 后规则会恢复到修改之前的规则,需要保存新修改的规则重启才不会恢复:
    service iptables save

   
-----------------------------------------------------------------------------------------------------------------------------------------------
  
  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值