#总汇代码:
iptables -t filter -A{I,D} INPUT{OUTPUT,FORWARD} {n} -p tcp{udp,icmp} {!} -s 192.168.1.0/24 \
--sport m:n --dport x:y -j ACCEPT{DORP,REJECT,LOG}
#查看iptables规则(-n显示ip,--line显示行号):
[root@localhost ~]# iptables -L -n --line-number
#删除指定规则:
[root@localhost ~]# iptables -D INPUT 2 #删除INPUT第2条规则
#清除所有已经存在的规则;
[root@localhost ~]# iptables -F
[root@localhost ~]# iptables -X
[root@localhost ~]# iptables -Z
#拒绝所有数据:
[root@localhost ~]# iptables -P INPUT DROP
[root@localhost ~]# iptables -P FORWARD DROP
[root@localhost ~]# iptables -P OUTPUT DROP
只允许某端口访问:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
只允许某IP访问:
1.先拒绝所有
2.iptables -A INPUT -p tcp -s 192.168.33.254 -j ACCEPT
3.iptables -A OUTPUT -p tcp -d 192.168.33.255 -j ACCEPT
拒绝指定ip访问服务器:
iptables -A INPUT -p tcp -s 192.168.33.254 -j DROP
过滤无效数据包:
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
目标地址192.168.0.3的访问给予记录,并查看/var/log/message
iptables -A INPUT -s 192.168.0.3 -j LOG
拒绝192.168.0.0/24网段的1024-65534的源端口访问SSH
iptables -A INPUT -i eth0 -p tcp -s 192.168.0.0/24 --sport 1024:65534 --dport ssh -j DROP
开放本机的lo可以自由访问
iptables -A INPUT -i lo -j ACCEPT
设定有相关的封包状态可以进入本机
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
将目标计算机的MAC设为ACCEPT
iptables -A INPUT -m mac --mac-source 00-C0-9F-79-E1-8A -j ACCEPT
设定ICMP包,状态为8的被DROP掉
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP
重置ip_forward为1
echo "1" > /proc/sys/net/ipv4/ip_forward
通过MASQUERADE设定来源于192.168.6.0网段的IP通过192.168.6.217转发出去
iptables -t nat -A POSTROUTING -s 192.168.6.0 -o 192.168.6.217 -j MASQUERADE
通过DNAT设定为所有访问192.168.6.217的22端口,都访问到192.168.6.191的22端口
iptables -t nat -A PREROUTING -d 192.168.6.217 -p tcp --dport 22 -j DNAT --to-destination 192.168.6.191:22
设定所有到192.168.6.191的22端口的数据包都通过FORWARD转发
iptables -A FORWARD -p tcp -d 192.168.6.191 --dport 22 -j ACCEPT
设定回应数据包,即通过NAT的POSTROUTING设定,使通讯正常
iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE
使得只有192.168.0.x 和192.168.0.y 的机器可以连接您的pop3服务器。但同一网段的其他人不行。
iptables -A INPUT -s ! 192.168.18.30 -p tcp --dport 110 -d 192.168.18.70 -j DROP
iptables -A INPUT -s ! 192.168.18.31 -p tcp --dport 110 -d 192.168.18.70 -j DROP
只允许某2人即两台主机可以telnet 你,例如其中一台为192.168.0.123,192.168.0.124
iptables -A INPUT -s 192.168.0.123 -p tcp --dport 23 -d 192.168.18.70 -j ACCEPT
iptables -A INPUT -s 192.168.0.124 -p tcp --dport 23 -d 192.168.18.70 -j ACCEPT
iptables -A INPUT -d 192.168.18.70 -p tcp --dport 23 -j REJECT
允许某2人每秒钟ping你1次
iptables -A INPUT -s 192.168.18.30 -p icmp --icmp-type 8 -m limit --limit 1/m -j ACCEPT
iptables -A INPUT -s 192.168.18.31 -p icmp --icmp-type 8 -m limit --limit 1/m -j ACCEPT
允许您主动访问任何人
iptables -A OUTPUT -p tcp --tcp-flags SYN,ACK,RST SYN -j ACCEPT
iptables -A INPUT -p tcp --tcp-flags SYN,ACK,RST SYN -j REJECT
Test01 用户可以使用自己的ip地址作测试用途,但不能访问其他的任何ip
iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -P OUTPUT REJECT
Test02 用户可以访问任意地址
iptables -A INPUT -s Test02 -j ACCEPT
iptables -P INPUT REJECT
定义一个自定义规则,对所有访问您23端口的动作进行日志
iptables -A INPUT --dport 23 -j LOG
通过MASQUERADE设定来源于192.168.6.0网段的IP通过192.168.6.217转发出去
iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth1 -j MASQUERADE
通过DNAT设定为所有访问192.168.6.217的22端口,都访问到192.168.6.191的22端口
iptables -t nat -A PREROUTING -d 192.168.6.217 -p tcp --dport 22 -j DNAT --to-destination 192.168.6.191:22
设定所有到192.168.6.191的22端口的数据包都通过FORWARD转发
iptables -A FORWARD -p tcp -d 192.168.6.191 --dport 22 -j ACCEPT
设定回应数据包,即通过NAT的POSTROUTING设定,使通讯正常
iptables -t nat -I POSTROUTING -p tcp --dport 22 -j MASQUERADE
设置允许进入eth0网卡的UDP协议包,并是来自1025以上端口,目的地址为192.168.33.1
iptables -A INPUT -i eth0 -p udp --sport(源端口) 1025: -d 192.168.33.1 -j ACCEPT
/etc/init.d/iptables save
service iptables restart
端口转发:
将本机的7088端口转发至其他主机
主机IP:1.1.1.1
目标主机IP和端口:2.2.2.2:1521
方法
iptables -t nat -A PREROUTING -p tcp -m tcp --dport(目的端口) 7088 -j DNAT --to-destination 2.2.2.2:1521 #进之前
iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 1521 -j SNAT --to-source 1.1.1.1 #出
service iptables save
service iptables restart
禁止PING:
iptables -A INPUT -p icmp -s 进入IP或网段 -d 本机IP -j DROP
只允许来自192.168.44.0/24网段用户ping服务器
iptables -A INPUT -j DROP
iptables -A INPUT -p(类型)icmp(icmp,udp,tcp,all) -s(源地址) 192.168.44.0/24 -d 192.168.33.1(目的地址) -j ACCEPT
Iptables整理
最新推荐文章于 2023-04-23 16:36:01 发布