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