10.15 iptables filter表案例
根据需求编写一个shell脚本,增加防火墙iptables的通信规则,控制信息流向 1、清空默认规则 。2、修改链的默认策略,把INPUT的改为DROP、其他链为ACCEPT。 2、增加规则:指定连接前状态:RELATED和ESTABLISHED放行;目标为本机22、80和20端口放行;
#!/bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
icmp 案例:禁止别人ping,自己可以ping别人:把进来的icmp协议DROP掉。
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
-type 8:指本机ping通其他机器,而其他机器不能ping通本机。
10.16/10.17/10.18 iptables nat表应用
nat应用需求:A机器可以上外网,也可以内网通信,B机器只能内网通信。 通过nat表规则,使B机器可以通过A机器访问外网。
1、B机器加入内部局域网段LAN,设置ip为:192.168.87.150
2、A机器的内网网卡加入内部局域网段,设置ip为:192.168.87.130
3、A机器的192.168.87.130与B机器的192.168.87.150就在同一局域网内,确保可以互相ping通能通信。
4、在A机器内打开端口转发:
echo "1" > /proc/sys/net/ipv4/ip_forward
5、在A机器增加nat表的路由转发规则:
iptables -t nat -A POSTROUTING -s 192.168.87.0/24 -o eth0 -j MASQUERADE
6、这样B机器就能通过A机器访问外网了。