iptable用法


一:添加屏蔽IP

 
#禁止此IP访问服务器
iptables -I INPUT -s 1.2.3.4 -j DROP

iptables -A INPUT -s 1.2.3.4 -j DROP
#禁止服务器访问此IP
iptables -A OUTPUT -d 1.2.3.4 -j DROP
如果要封某个网段:
iptables -I INPUT -s 1.2.3.0/24 -j DROP

 

追加规则的完整实例:仅允许SSH服务 

本例实现的规则将仅允许SSH数据包通过本地计算机,其他一切连接(包括ping)都将被拒绝。

 

# 1.清空所有iptables规则
iptables -F

# 2.接收目标端口为22的数据包
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

# 3.拒绝所有其他数据包
iptables -A INPUT -j DROP

 

二:删除规则

 1.按ip删除规则

iptables -t filter -D INPUT -s 1.2.3.4 -j DROP

 也可以去掉filter,因为默认就是filter

iptables -D INPUT -s 1.2.3.4 -j DROP :删除ip1.2.3.4来源的封禁策略

2.按照规则id删除

 iptables -D chain rulenum [options]

其中: chain 是链的意思,就是INPUT FORWARD 之类的定语
rulenum 是该条规则的编号。从1开始。可以使用iptables -L INPUT --line-numbers列出指定的链的规则的编号来。 
所以,例如上面要删除一个INPUT链的规则的话可以这样:
iptables -D INPUT 3
意思是删除第3条规则。

3.一键清空所有规则

iptables -F

4.查看

iptables -L INPUT

iptables -L

 

需适当调大内核参数:ip_queue_maxlen,否则会出现大量的queue dropped

7.通过 cat /proc/net/ip_queue ,查看 ip_queue 运行情况,如果Queue dropped的数值不断增大,则需要修改 ip_queue_maxlen 参数,比如 echo 4096 > /proc/sys/net/ipv4/ip_queue_maxlen ;如果Netlink dropped的数值不断增大,修改 net.core.rmem_max 和 net.core.wmem_max 参数, 比如 sysctl -w net.core.rmem_max=16777216 和 sysctl -w net.core.wmem_max=16777216 。

 

http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM