Iptables整理

#总汇代码:
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.21722端口,都访问到192.168.6.19122端口
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.19122端口的数据包都通过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.21722端口,都访问到192.168.6.19122端口
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.19122端口的数据包都通过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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值