三个概念:
1.规则(rules)处理数据包时要满足的条件以及做出的动作
2.链(chains)包传播的路径,有若干规则需要校验
3.表(tables)提供特定功能,包括3个表filter,nat和mangle表
(1)filter表,是iptables的默认表,filter表只能对包进行接收、丢弃的操作,其中包含:
input链(处理进入的数据包)
forword链(处理转发的数据包)
output链(处理本地生成的数据包)
(2)nat表,实现nat网络地址一对一,一对多,多对多的转换,包含:
prerouting链(修改即将到来的数据包)
output链(修改在路由之前本地生成的数据包)
postrouting链(修改即将出去的数据包)
(3)mangle表,对数据包进行某些内容的修改,包含:
input链(处理进入的数据包)
output链(修改在路由之前本地生成的数据包)
prerouting链(修改在路由之前进入的数据包)
forword链(修改正处理转发的数据包)
postrouting链(修改即将出去的数据包)
基本操作:
关闭防火墙:输入 setup 选择 Firewall configuration 选择禁用
一般格式: iptables [-t 表] -命令 匹配 操作
表:指定内置表,filter表、nat表和mangle表。
命令:插入、删除、添加规则。
-P --policy <链名> 定义默认策略
-L --list <链名> 查看iptables规则列表
-A --append <链名> 在规则列表的最后增加1条规则
-I --insert <链名> 在指定的位置插入一条规则
-D --delete <链名> 从规则列表中删除一条规则
-R --replace<链名> 替换规则列表中的某条规则
-F --flush <链名> 删除表中所有规则
-Z --zero <链名> 将表中数据包计数器和流量计数器归零
匹配:
-i --in-interface <网络接口名> 指定数据包从哪个网络接口进入,例ppp0、eth0、eth1等
-o --out-interface <网络接口名> 指定数据包从哪块网络接口输出,例ppp0、eth0、eth1等
-p --proto <协议类型> 指定数据包匹配的协议
-s --source <原地址或子网> 指定数据包匹配的源地址
--sport <源端口号> 指定数据包匹配的端口号,可指定范围,例"起始端口号:结束端口号"
-d --destination <目标地址或子网>指定数据包匹配的目标地址
--dport 目标端口号 指定数据包匹配的目标端口号,可指定范围,"起始端口号:结束端口号"
动作:
ACCEPT 接受数据包
DROP 丢弃数据包
REDIRECT 将数据包重新转向到本机或另一台主机的某个端口,多用于透明代理
SNAT 源地址转换,即改变数据包的源地址
DNAT 目标地址转换,即改变数据包的目标地址
MASOUERADE IP伪装,即常说的NAT技术,只能用于ADSL等动态分配IP的,若为静态IP则用SNAT
LOG 日志功能,将符合规则的数据包的相关信息记录到日志中
定义默认策略
iptables [-t 表名] <-P> <链名> <动作>
[-t 表名]: 指默认策略应用于哪个表,filter,nat和mangle,默认为filter表
未完待续......
1.规则(rules)处理数据包时要满足的条件以及做出的动作
2.链(chains)包传播的路径,有若干规则需要校验
3.表(tables)提供特定功能,包括3个表filter,nat和mangle表
(1)filter表,是iptables的默认表,filter表只能对包进行接收、丢弃的操作,其中包含:
input链(处理进入的数据包)
forword链(处理转发的数据包)
output链(处理本地生成的数据包)
(2)nat表,实现nat网络地址一对一,一对多,多对多的转换,包含:
prerouting链(修改即将到来的数据包)
output链(修改在路由之前本地生成的数据包)
postrouting链(修改即将出去的数据包)
(3)mangle表,对数据包进行某些内容的修改,包含:
input链(处理进入的数据包)
output链(修改在路由之前本地生成的数据包)
prerouting链(修改在路由之前进入的数据包)
forword链(修改正处理转发的数据包)
postrouting链(修改即将出去的数据包)
基本操作:
关闭防火墙:输入 setup 选择 Firewall configuration 选择禁用
一般格式: iptables [-t 表] -命令 匹配 操作
表:指定内置表,filter表、nat表和mangle表。
命令:插入、删除、添加规则。
-P --policy <链名> 定义默认策略
-L --list <链名> 查看iptables规则列表
-A --append <链名> 在规则列表的最后增加1条规则
-I --insert <链名> 在指定的位置插入一条规则
-D --delete <链名> 从规则列表中删除一条规则
-R --replace<链名> 替换规则列表中的某条规则
-F --flush <链名> 删除表中所有规则
-Z --zero <链名> 将表中数据包计数器和流量计数器归零
匹配:
-i --in-interface <网络接口名> 指定数据包从哪个网络接口进入,例ppp0、eth0、eth1等
-o --out-interface <网络接口名> 指定数据包从哪块网络接口输出,例ppp0、eth0、eth1等
-p --proto <协议类型> 指定数据包匹配的协议
-s --source <原地址或子网> 指定数据包匹配的源地址
--sport <源端口号> 指定数据包匹配的端口号,可指定范围,例"起始端口号:结束端口号"
-d --destination <目标地址或子网>指定数据包匹配的目标地址
--dport 目标端口号 指定数据包匹配的目标端口号,可指定范围,"起始端口号:结束端口号"
动作:
ACCEPT 接受数据包
DROP 丢弃数据包
REDIRECT 将数据包重新转向到本机或另一台主机的某个端口,多用于透明代理
SNAT 源地址转换,即改变数据包的源地址
DNAT 目标地址转换,即改变数据包的目标地址
MASOUERADE IP伪装,即常说的NAT技术,只能用于ADSL等动态分配IP的,若为静态IP则用SNAT
LOG 日志功能,将符合规则的数据包的相关信息记录到日志中
定义默认策略
iptables [-t 表名] <-P> <链名> <动作>
[-t 表名]: 指默认策略应用于哪个表,filter,nat和mangle,默认为filter表
未完待续......