iptables 性能,iptables命令大全
http://man.linuxde.net/iptables
Iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。它可以直接配置,也可以通过许多前端和图形界面进行配置。
语法iptables(选项)(参数)
Option -t table:指定要操作的表;
-A:向规则链添加一个条目;
-D:从规则链中删除条目;
-i:将条目插入到规则链中;
-R:替换规则链中的条目;
-L:显示规则链中的现有条目;
-F:明确规则链中已有的条目;
-Z:清除规则链中的包计算器和字节计数器;
-N:创建新的自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包的源ip地址;
-j Target:指定要跳转的目标;
-i网络接口:指定数据包进入本机的网络接口;
-o Network interface:指定本地计算机用于数据包离开的网络接口。
Iptables命令选项输入顺序:
Iptables -t表名-A/I/D/R规则链名[规则号] -i/o网卡名-p协议名-s源IP/源子网- sport源端口-d目标IP/目标子网-D端口目标端口-j动作
表格名称包括:
Raw:高级功能,如URL过滤。Mangle:数据包修改(QOS),用于实现服务质量。Net:地址转换,用于网关路由器。过滤器:包过滤,用于防火墙规则。
规则名称包括:
输入链:处理输入数据包。输出链:处理输出数据包。转发链:处理转发的数据包。预路由链:用于目标地址转换(DNAT)。后置链:用于SNAT (SNAT)。
行动包括:
接受:接收数据包。丢弃:丢弃数据包。重定向:重定向,映射,透明代理。SNAT:斯纳特。目标地址转换。伪装:IP伪装(NAT),用于ADSL。日志:记录日志。
清除现有的iptables规则,例如。
防火墙
iptables -X
iptables -Z
指定港口
iptables-a input-s 127 . 0 . 0 . 1-d 127 . 0 . 0 . 1-jaccept #允许本地环回接口(即运行该机器以访问该机器)
iptables-a input-m state-state established,related-j accept #允许建立或关联业务。
Iptables -A OUTPUT -j ACCEPT #允许本机的所有外部访问。
iptables-a input-p TCP-d port 22-j accept #允许访问端口22。
iptables-a input-p TCP-d port 80-j accept #允许访问端口80。
iptables-允许ftp服务的输入端口TCP-dport21-j accept # 21端口
iptables-a input-p TCP-d port 20-j accept #允许FTP服务的20个端口。
Iptables -A INPUT -j reject #禁止其他不允许的规则访问。
Iptables -A FORWARD -j REJECT #禁止其他不允许的规则访问。
屏蔽IP
iptables-I input-s 123 . 45 . 6 . 7-jdrop #命令来阻止单个IP
iptables-I input-s 123 . 0 . 0 . 0/8-jdrop #密封了整个段,也就是从123.0.0.1到123.255.255.254的命令。
iptables-I input-s 124 . 45 . 0 . 0/16-jdrop #封装了IP段,也就是123.45.0.1到123.45.255.254的命令。
iptables-I input-s 123 . 45 . 6 . 0/24-jdrop #封装123.45.6.1到123.45.6.254 IP段的命令是
查看添加的iptables规则
iptables-左n -v
链输入(策略丢弃48106个数据包,2690K字节)
pkts字节目标保护选择输入输出源目标
5075 589K接受全低* 0.0.0.0/0 0.0.0.0/0
191K 90M接受TCP-* * 0 . 0 . 0 . 0/0 0 . 0 . 0/0 TCP DPT:22
1499K 133M接受TCP-* * 0 . 0 . 0 . 0/0 0 . 0 . 0/0 TCP DPT:80
4364K 6351M接受所有-* * 0 . 0 . 0 . 0/0 0 . 0 . 0/0状态相关,已建立
6256 327K接受icmp-* * 0 . 0 . 0 . 0/0 0 . 0 . 0/0
链转发(策略接受0数据包,0字节)
pkts字节目标保护选择输入输出源目标
链输出(策略接受3382K数据包,1819M字节)
pkts字节目标保护选择输入输出源目标
5075 589K接受全部- * lo 0.0.0.0/0 0.0.0.0/0
删除添加的iptables规则
显示所有带有序列号的iptables,并执行:
iptables -L -n -线路号码
例如,要删除输入中序列号为8的规则,请执行:
iptables -D输入8