根据需求编写一个shell脚本,增长防火墙iptables的通讯规则,控制信息流向 一、清空默认规则 。二、修改链的默认策略,把INPUT的改成DROP、其余链为ACCEPT。 二、增长规则:指定链接前状态:RELATED和ESTABLISHED放行;目标为本机2二、80和20端口放行;shell
#!/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掉。bash
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
-type 8:指本机ping通其余机器,而其余机器不能ping通本机。tcp
nat应用需求:A机器能够上外网,也能够内网通讯,B机器只能内网通讯。 经过nat表规则,使B机器能够经过A机器访问外网。code
一、B机器加入内部局域网段LAN,设置ip为:192.168.87.150ip
二、A机器的内网网卡加入内部局域网段,设置ip为:192.168.87.130路由
三、A机器的192.168.87.130与B机器的192.168.87.150就在同一局域网内,确保能够互相ping通能通讯。table
四、在A机器内打开端口转发:iptables
echo "1" > /proc/sys/net/ipv4/ip_forward
五、在A机器增长nat表的路由转发规则:防火墙
iptables -t nat -A POSTROUTING -s 192.168.87.0/24 -o eth0 -j MASQUERADE
六、这样B机器就能经过A机器访问外网了。通信