1, 首先,确保计算机上安装有两块网卡!使用lspci 查看网卡,使用ifconfig查看eth0, eth1 和两块网卡的对应关系

2, 设置两块网卡的IP地址, /etc/network/interfaces 中设置,

      


auto eth0
iface eth0 inet static
address 116.XX.XX.XXX
gateway 116.XX.XX.XXX
netmask 255.255.255.0
dns-nameservers xx.xx.xx.xx

auto eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.255.0



DNS除了直接在interfaces设置,还可以在/etc/resolvconf/resolv.conf.d/中设置(提醒,不要直接在/etc/resolv.conf中设置,那个文件是../run/resolvconf/resolv.conf的一个链接,重启resolvconf 服务后,里边的内容将会被刷新,刷新后的内容存储在/etc/resolvconf/resolv.conf.d/下)

  • base - 空檔
  • head
  • original - 空檔
  • tail - 空檔

/etc/resolvconf/resolv.conf.d/下包含以上4个文件,通常在original 下添加域名服务器IP即可,如果该目录下只有base和head 两个文件,在base中添加。

nameserver xx.xx.xx.xx

重启resolvconf 服务(sudo service resolvconf restart),域名服务器既可以自动写入/etc/resolv.conf中。

3, .服务器配置
基本思想:开启IP转发,设置好iptables规则。

3.1.开启IP转发
两种方式,
临时:echo “1″>/proc/sys/net/ipv4/ip_forward
固定:修改/etc/sysctl.conf,取消这一行的注释:
net.ipv4.ip_forward= 1
然后重启网络

3.2.设置iptables规则
临时:iptables -t nat -A POSTROUTING -j MASQUERADE
固定:
或者把上面这个写到一个启动脚本中。这里还有另外一个版本:
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j MASQUERADE
第一句是清除掉之前所有的iptables规则,

第二第三句是允许接收和发送数据包,

第四句是在eth1网口上NAT--地址转换


-F: FLASH,清空规则链的(注意每个链的管理权限)




-P :设置默认策略的(设定默认门是关着的还是开着的)


默认策略一般只有两种


iptables -P INPUT (DROP|ACCEPT)  默认是关的/默认是开的


比如:


iptables -P INPUT DROP 这就把默认规则给拒绝了。并且没有定义哪个动作,所以关于外界连接的所有规则包括Xshell连接之类的,远程连接都被拒绝了。




-t nat:显示所有的关卡的信息

-A:追加,在当前链的最后新增一个规则

-s:指定作为源地址匹配,这里不能指定主机名称,必须是IP


IP | IP/MASK | 0.0.0.0/0.0.0.0


而且地址可以取反,加一个“!”表示除了哪个IP之外
-o eth0:从这块网卡流出的数据

流出一般在OUTPUT和POSTROUTING上


4 ,客户端设置
将缺省网关设置为192.168.100.1,至于IP,自己随便设。