1、五个规则链
(1)PREROUTING(路由前)
(2)INPUT(数据包流入口)
(3)FORWARD(转发管卡)
(4)OUTPUT(数据包出口)
(5)POSTROUTING(路由后)
2、功能
(1)filter 定义允许或者不允许的一般只能做在3个链上:INPUT、FORWARD、OUTPUT
(2)nat 定义地址转换的一般只能做在3个链上:PREROUTING、OUTPUT、POSTROUTING
(3)mangle 修改报文原数据 5个链都可以做
3、规则写法
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :3个filter nat mangle
COMMAND:定义如何对规则进行管理
chain:指定你接下来的规则到底是在哪个链上操作的
CRETIRIA:指定匹配标准
-j ACTION :指定如何进行处理
iptables -L -n -v #查看定义规则的详细信息
4、链管理命令
-P :设置默认策略的
默认策略一般只有两种
iptables -P INPUT (DROP|ACCEPT) 默认是关的/默认是开的
-F清空规则链的
iptables -t nat -F PREROUTING
iptables -t nat -F 清空nat表的所有链
-N 支持用户新建一个链
-X: 用于删除用户自定义的空链
-E:用来Rename chain主要是用来给用户自定义的链重命名
-Z:清空链,及链中默认规则的计数器的
5、规则管理命令
-A:追加,在当前链的最后新增一个规则
-I num : 插入,把当前规则插入为第几条。
-R num:Replays替换/修改第几条规则
-D num:删除,明确指定删除第几条规则
6、查看管理命令:“-L”
-n:以数字的方式显示ip
-v:显示详细信息
-x:在计数器上显示精确值,不做单位换算
--line-numbers : 显示规则的行号
-t nat:显示所有的关卡的信息
7、匹配标准
-s:指定作为源地址匹配,这里不能指定主机名称,必须是IP
-d:表示匹配目标地址
-p:用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)
-i eth0:从这块网卡流入的数据流入一般用在INPUT和PREROUTING上
-o eth0:从这块网卡流出的数据流出一般在OUTPUT和POSTROUTING上
-p tcp :TCP协议的扩展。一般有三种扩展
--dport XX-XX:指定目标端口,不能指定多个非连续端口,只能指定单个端口
--sport:指定源端口
-p udp:UDP协议的扩展
-p icmp:icmp数据报文的扩展
8、 -j ACTION
DROP:悄悄丢弃
REJECT:明示拒绝
ACCEPT:接受
DNAT
SNAT
MASQUERADE:源地址伪装
REDIRECT:重定向:主要用于实现端口重定向
MARK:打防火墙标记的
RETURN:返回
9、状态检测
NEW TCP第一次握手
ESTABLISHED 第二、三次握手已建立的连接
RELATED FTP
INVALID 无法识别的连接
10、SNAT和DNAT的实现
(1)SNAT基于原地址的转换,将内网地址转换为外网IP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.16.100.1
(2)DNAT 目标地址的转换
iptables -t nat -A PREROUTING -d 192.168.0.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
80全网开 21 3306针对某个固定IP 其余端口全部禁止访问
iptables –A Filter –p tcp –s 0/0 –dport 80 –j ACCEPT
iptables –A Filter-m multiport –p tcp –s 192.168.0.146/24 –dport 21,3306 –j ACCEPT
iptables -A Filter -j DROP
(1)PREROUTING(路由前)
(2)INPUT(数据包流入口)
(3)FORWARD(转发管卡)
(4)OUTPUT(数据包出口)
(5)POSTROUTING(路由后)
2、功能
(1)filter 定义允许或者不允许的一般只能做在3个链上:INPUT、FORWARD、OUTPUT
(2)nat 定义地址转换的一般只能做在3个链上:PREROUTING、OUTPUT、POSTROUTING
(3)mangle 修改报文原数据 5个链都可以做
3、规则写法
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :3个filter nat mangle
COMMAND:定义如何对规则进行管理
chain:指定你接下来的规则到底是在哪个链上操作的
CRETIRIA:指定匹配标准
-j ACTION :指定如何进行处理
iptables -L -n -v #查看定义规则的详细信息
4、链管理命令
-P :设置默认策略的
默认策略一般只有两种
iptables -P INPUT (DROP|ACCEPT) 默认是关的/默认是开的
-F清空规则链的
iptables -t nat -F PREROUTING
iptables -t nat -F 清空nat表的所有链
-N 支持用户新建一个链
-X: 用于删除用户自定义的空链
-E:用来Rename chain主要是用来给用户自定义的链重命名
-Z:清空链,及链中默认规则的计数器的
5、规则管理命令
-A:追加,在当前链的最后新增一个规则
-I num : 插入,把当前规则插入为第几条。
-R num:Replays替换/修改第几条规则
-D num:删除,明确指定删除第几条规则
6、查看管理命令:“-L”
-n:以数字的方式显示ip
-v:显示详细信息
-x:在计数器上显示精确值,不做单位换算
--line-numbers : 显示规则的行号
-t nat:显示所有的关卡的信息
7、匹配标准
-s:指定作为源地址匹配,这里不能指定主机名称,必须是IP
-d:表示匹配目标地址
-p:用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)
-i eth0:从这块网卡流入的数据流入一般用在INPUT和PREROUTING上
-o eth0:从这块网卡流出的数据流出一般在OUTPUT和POSTROUTING上
-p tcp :TCP协议的扩展。一般有三种扩展
--dport XX-XX:指定目标端口,不能指定多个非连续端口,只能指定单个端口
--sport:指定源端口
-p udp:UDP协议的扩展
-p icmp:icmp数据报文的扩展
8、 -j ACTION
DROP:悄悄丢弃
REJECT:明示拒绝
ACCEPT:接受
DNAT
SNAT
MASQUERADE:源地址伪装
REDIRECT:重定向:主要用于实现端口重定向
MARK:打防火墙标记的
RETURN:返回
9、状态检测
NEW TCP第一次握手
ESTABLISHED 第二、三次握手已建立的连接
RELATED FTP
INVALID 无法识别的连接
10、SNAT和DNAT的实现
(1)SNAT基于原地址的转换,将内网地址转换为外网IP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 172.16.100.1
(2)DNAT 目标地址的转换
iptables -t nat -A PREROUTING -d 192.168.0.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
80全网开 21 3306针对某个固定IP 其余端口全部禁止访问
iptables –A Filter –p tcp –s 0/0 –dport 80 –j ACCEPT
iptables –A Filter-m multiport –p tcp –s 192.168.0.146/24 –dport 21,3306 –j ACCEPT
iptables -A Filter -j DROP
编辑回复