1、语法:
Usage:
iptables -t [table] -[AD] chain rule-specification[options]
2、基本的处理行为:ACCEPT(接受)、DROP(丢弃)、REJECT(拒绝)
3、匹配指定协议外的所有协议
iptables -A INPUT -p ! tcp
匹配主机源IP
iptables -A INPUT -s 10.0.0.14
iptables -A INPUT -s ! 10.0.0.14
匹配网段
iptables -A INPUT -s 10.0.0.0/24
iptables -A INPUT -s ! 10.0.0.0/24
匹配单一端口
iptables -A INPUT -p tcp --sport 53
iptables -A INPUT -p udp --dport 53
4、封端口:
iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
(--sports 源端口)
(22:80 端口范围)
iptables -t filter -A INPUT -p tcp -m multiport --dport 222,323 -j ACCEPT
(-m multiport 列元素 222,323)
5、 封ip :
iptables -t filter -A INPUT -i eth0 -s 10.0.0.105 -j DROP
-s 源地址
-i 进 -o 出 指定网络接口
6、禁ping
iptables -t filter -A INPUT -p icmp --icmp-type 8 ! -s 10.10.70.0/24 -j DROP
(!非)
iptables -t filter -I INPUT 2 -p icmp --icmp-type any -s 10.10.70.0/24 -j DROP (any 所有类型)
( -I 2 指定位置)
7、匹配网络状态:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-m state --state:允许关联的状态包通过
NEW:已经或将启动新的连接
ESTABLISHED:已建立的连接
RELATED:正在启动新连接
INVALID:非法或无法识别的
8、本机地址:172.16.14.1,允许172.16.0.0/16网络ping本机,但限制每分钟请求不能超过20,每次并发
不能超过6个.
iptables -A INPUT -s 172.16.0.0/16 -d 172.16.14.1 -p icmp --icmp-type 8 -m limit --limit 20/min --limit-burst 6 -j ACCEPT
iptables -A OUTPUT -s 172.16.14.1 -d 172.16.0.0/16 -p icmp --icmp-type 0 -j ACCEPT
-m limit
--limit n/{second/minute/hour}:指定时间内的请求速率"n"为速率,后面为时间分别为:秒、分、时
--limit-burst [n]:在同一时间内允许通过的请求"n"为数字,不指定默认为5
9、自定义链处理syn***
iptables -N syn-flood
iptables -A INPUT -i eth0 -syn -j syn-flood
iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN
iptables -A syn-flood -j DROP
10、网关服务器配置端口地址转换
iptables -t nat -A PREROUTING -d 192.168.1.9 -p tcp --dport 80 -j DNAT --to-destination 10.10.70.60:9000
12、配置网关:
server 1 :eht0 10.10.70.60 eth2 192.168.1.10
server 2 : eth0 192.168.1.9
开启路由转发:
sed -n "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf
sysctl -p
清除配置:
iptables -F
iptables -Z
iptables -X
开启FORWORD : iptables -P FORWARD ACCEPT
查看是否有配置内核模块:lsmod | grep nat,如无,请加载。
配置:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0-j SNAT --to-source 10.10.60.10
或:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE 伪装
13、映射多个外网IP上网
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16
iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 124.42.60.103-124.42.60.106
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。