Iptables五链四表及命令使用

Iptables使用

参考博客:https://www.cnblogs.com/metoy/p/4320813.html

iptables五链四表:

  • filter表——三个链:INPUT、FORWARD、OUTPUT

  • Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT

  • Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD

  • Raw表——两个链:OUTPUT、PREROUTING

+++

  • INPUT链:进来的数据包应用此规则链中的策略
  • OUTPUT链:外出的数据包应用此规则链中的策略
  • FORWARD链:转发数据包时应用此规则链中的策略
  • PREROUTING:对数据包作路由选择前应用此链中的规则
  • POSTROUTING:对数据包作路由选择后应用此链中的规则

管理和设置iptables规则

iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]

-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-V 查看版本(version)
-h 获取帮助(help)

+++

  • 防火墙处理数据包的四种方式
    • ACCEPT 允许数据包通过
    • DROP 直接丢弃数据包,不给任何回应信息
    • REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息
    • LOG在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则

iptables防火墙规则的保存与恢复

iptables-save把规则保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载。

$ iptables-save > /etc/sysconfig/iptables

或者

$ service iptables save

+++

  • 删除INPUT链的第一条规则
$ iptables -D INPUT 1
  • iptables防火墙常用的策略

1、拒绝进入防火墙所有ICMP协议数据包

$ iptables -I INPUT -p icmp -j REJECT

2、允许防火墙转发除了ICMP协议以外的所有数据包

$ iptables -A FORWARD -P ! icmp -j ACCEPT

3、拒绝来自主机192.168.1.10主机的数据,允许转发来自192.168.0.0/24网段的数据

$ iptables -A FORWARD -s 192.168.1.11 -j REJECT
$ iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

4、丢弃从外网接口eth1进入防火墙本机的源地址为私网地址的数据包

$ iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
$ iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
$ iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

5、只允许管理员从202.13.0.0/16网段使用SSH远程登录防火墙主机

iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

6、允许本机开放从TCP端口20-1024提供的应用服务

iptables -A INPUT -p tcp --dport 22:1024 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT

7、允许转发来自192.169.0.0/24局域网段的DNS解析请求数据包。

iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT
posted @ 2021-03-09 22:43  Gumi-21  阅读(40)  评论(0)    收藏  举报