教你快速认识iptables命令

发布时间:2024-09-29 点击:33
一个iptables命令基本包含五个部分:
(1)希望工作在哪张表上;
(2)希望使用该表的哪个链;
(3)进行的操作(插入、添加、删除、修改等) ;
(4)匹配数据报的条件;
(5)对特定规则的目标动作。
例如,希望在filter表中的input链中添加一条规则,允许所有的主机连接本地smtp端口的命令为:
[root@rhel4 ~]#iptables –t filter –a input –p tcp --dport 25 –j accept
iptables 命令格式为:
iptables [-t 表名] -命令 [链名] 匹配条件 目标动作
注意:iptables命令的所有参数和选项都区分大小写。例如-i代表插入,而-i代表网络接口。
1. iptables 命令中的常用操作命令
-p 或--policy <链名> 定义默认策略。
-l 或--list [链名] 查看 iptables 规则列表,如果不指定链,则列出所有链中的所有规则。
-a 或--append <链名> 在规则列表的增加一条规则。
-i 或--insert <链名> 在指定的链中插入一条规则。
-d 或--delete <链名> 从规则列表中删除一条规则。
-r 或--replace <链名> 替换规则列表中的某条规则。
-f 或--flush [链名] 清除指定链和表中的所有规则。如果不指定链,则所有链都被清空。
-z 或--zero [链名] 将表中数据包计数器和流量计数器归零。
-n 或--new-chain <链名> 创建一个用户自定义的链。
-x 或--delete-chain [链名] 删除链。
-c 或--check <链名> 检查给定的包是否与指定链的规则相匹配。
2. iptables 命令中的常见规则匹配
-i 或--in-interface <网络接口> 指定数据包从哪个网络接口进入,如 eth0,eth1 或 ppp0 等。
-o 或--out-interface <网络接口> 指定数据包从哪个网络接口输出,如 eth0,eth1 或 ppp0 等。
-p 或--protocol [!] <协议类型> 指定数据包匹配的协议,如 tcp、udp 和 icmp 等。!表示除去该协议之外的其他协议。
-s 或--source [!] address[/mask] 指定数据包匹配的源 ip 地址或子网。 !表示除去该 ip 地址或子网。
-d 或--destination [!] address[/mask] 指定数据包匹配的目的 ip 地址或子网。 !表示除去该 ip 地址或子网。
--sport [!] port[:port] 指定匹配的源端口或端口范围。
--dport [!] port[:port] 指定匹配的目标端口或端口范围
3. 目标动作选项
目标动作用于指定数据包与规则匹配时,应该做什么操作,如接受、丢弃等。
accept 接受数据包。
drop 丢弃数据包。
redirect 将数据包重定向到本机或另一台主机的某个端口,通常用于实现透明代理或对外开放内网的某些服务。
snat 源地址转换,即改变数据包的源 ip 地址。
dnat 目标地址转换,即改变数据包的目的 ip 地址。
masquerade ip 伪装,即 nat。masquerade 只用于 adsl 拨号上网的 ip 伪装。如果主机的 ip 地址静态的,则应使用 snat。
log 日志功能。将符合规则的数据包的相关信息记录在日志中以便管理员进行分析和排错。


影响网站优化排名波动的九大因素
企业网站建设需要做好哪些准备工作
网站建设|wap建站系统是什么?有什么优势?
互联网时代比较靠谱的软文营销机构
企业网站建设设置banner图的作用!
香港机房的带宽为什么那么贵
美国网站服务器DDoS攻击的防御方案
网站开发如何提高网站访问速度