iptables filter表 案例、iptables nat表的路由功能 、端口映射
1、小案例
#!/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
2、禁止别人ping
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
3、iptables nat表
准备两台机器
一台 :2张网卡
一台:1张网卡
把只有1张网卡的机器,加入LAN区段
把有两张网卡的机器的,1张网卡加入LAN区段,1张设置成可以连接成外网 (注意分清两张网卡的device的名字)
临时设置ip地址的命令: ifconfig eth_name 192.168.1.* /24
把只有1张网卡的IP设置为192.168.31.130
把有2张网卡的第2张设置为 192.168.31.120 若能相互ping,那么表示同一网段内(LAN区段),能访问。
把有2张网卡的机器,打开端口转发:echo "1" > /proc/sys/net/ipv4/ip_forward
把有2张网卡的机器 nat 的转发功能开启: iptables -t nat -A POSTROUTING -s 192.168.31.0/24 -o eth0 -j MASQUERADE (这里的eth0,是可以上外网的网卡)
查看路由:route -n
添加默认网关:route add default gw 192.168.31.120
------------之前在宿舍,现在在办公室,换了环境,但具体方法一样-------------------------
在1张网卡的机器上操作:
在2张网卡的机器上操作:
如何实现让不能上网的机器,通路由转发,上外网?
在只有1张网卡的机器上:
在有2张网卡的机器上进行以下操作:
并且,在有2张网张的机器上,把转发功能给开启:
然后,在1张网卡的机器上进行操作:
4、端口映射转发目标IP----------------------------------------------------------------
打开端口转发:echo "1" > /proc/sys/net/ipv4/ip_forward
给1张网卡的机器加上网关:route add default gw 192.168.2.120
给两张网卡的机器加路由规则:
iptables -t nat -A PREROUTING -d 192.168.1.133 -p tcp --dport 2222 -j DNAT --to 192.168.2.110:22
iptables -t nat -A POSTROUNTING -s 192.168.2.110 -j SNAT --to 192.168.1.133
、、