服务器 频道

Liunx架站之简易NAT服务器2:1块网卡NAT架设

  【IT168 服务器学院】一块网络卡的 NAT 架设:

  刚刚上面我们已经提过了,要架设 NAT 的话,只要『两块网络接口』就够了,倒不一定需要两块『实体网络卡( NIC )』,是的!所以我们先以较为便宜的方式(因为少了一块网络卡呀!)来介绍 NAT 的架设!底下是我们介绍的安装步骤:

1. 关闭一些系统服务的 port :

  为了安全起见,还是检查一下吧!

  好了,首先,我们需要先来了解一下,咦!我的 Linux 主机的功用为何?!如果只是单纯的要作为 NAT 的话,那么 Linux 主机所开放的 port 是越少越好!鸟哥可不希望你开机了大约一个星期,就开始苦苦哀嚎说自己的主机无法以 root 登入了......。关闭 port 的方法与选择『系统一定需要的服务』的介绍在 限制联机的埠口 里面已经说的很清楚了!你可以 按这里 来了解到底什么是『一定要激活的服务』。



实体线路配置图:

  怎么安装联机呢?赶快买线材来架设吧!

  由于 Linux 主机只有一张网络卡,所以所有的装置(包括 Linux 主机, client 端计算机, 数据几等等)都需要接在 Hub/Switch 上面,有点像底下的样子: 



1. 这个时候请特别留意啦!如果是使用 ADSL 拨接制的话,那么应该会有安装 rp-pppoe 这个东西,并且在拨接之后会产生 ppp0 这个网络接口,同时不要忘了,激活网络卡的时候不是就已经有 eth0 这个实体网络界面的设定吗?,嘿嘿!那么我们不是就有两个网络接口了吗?!没错!就是这样!但是,如果是 Cable 或者是其它的固定制的方法的话,那么跟这个也差不多啦!不过由于 Cable 的方式没有自动产生两个以上的网络界面,所以就需要设定 IP Alias 啰,也就是 eth0:0 啦!亦即就是以 eth0 跟 eth0:0 这两个接口来联机啰!反正,只有一张网络卡,也可以进行 NAT 的啦! ^_^""
 
2. 设定网络接口:

分别以拨接、 Cable 及固定 IP 为例啦!
 
ADSL拨接制 :

  在进入 Linux 并激活网络卡之后,我们会得到 eth0 这个界面,再加上拨接之后的 ppp0 界面,所以我们就已经会有个两网络接口,分别是 ppp0, eth0!此外,我预计的私有网域的 IP 选用 192.168.1.0/24 这个 C Class 的网域,其中, Linux NAT 主机的私有 IP 选择为 192.168.1.2 这一个!
 
  第一个网络接口 -- ppp0 -- 的设定:这个东西应该不难吧!就是我们在 连上 Internet 一文里头提到的关于 rp-pppoe 的拨接上网方式。
 
  实体网络卡 -- eth0 -- 的设定:请注意,如果您要同时使用 ppp0 及 eth0 ,那么请在拨接之前激活 eth0 吧!以取得内部的 eth0 这个网络界面的设定!( 注:如果你不知道如何设定的话,那么就请照我的方式来填写即可 ): 



Cable 浮动式:


  在 Cable 的情况又不太相同了!这个时候只有两块网络接口,分别是 eth0, eth0:0 啰!设定为:
 
  实体网络卡 -- eth0 -- 的设定:请注意,由于 cable 使用的是 DHCP 主机,所以这个时候请特别留意你底下的设定呦!( 注:如果你不知道如何设定的话,那么就请照我的方式来填写即可 ): 



  虚拟网络接口 --eth0:0 的设定:在 IP Alias 的设定当中,我们已经在 Router 当中说明过多次了!请务必回到该章节再读取一次,如果您不记得如何设定的原理的话! 



固定 IP 的情况:

  跟 cable 的设定几乎一模一样,只有两个接口,分别是 eth0, eth0:0,需要特别注意的是 eth0 这个东西,你必须要『填写正确的 IP, netmask, network, broadcast 而且 ONBOOT=yes 才可以!』,而 eth0:0 则与上面相同!
 
激活私有网域的 IP 网络接口:

  激活之后顺便观察一下路由的信息!



4.设定其它档案:

  还有一些网络的相关档案要设定呦!/etc/hosts, /etc/resolv.conf, /etc/sysconfig/network,
别忘了我们还有其它的档案要设定呦!很重要的:

 


5.设计 NAT 的 shell scripts :

  直接将一些指令写在 scripts 里头执行较快啦!

  正确的情况之下,目前你的 Linux 主机上面应该是已经可以正常的对外联机的才对!而且内部也已经可以正确的联机成功了才对!如果还没有成功的话,请赶快再到 局域网络设定 里头去查一查资料去!好了,接着下来只要执行一个程序,嘿嘿!就可以将 NAT 激活喔!这个就好玩了!因为基本上,我们使用的是 iptables 这个东西,自然就需要这个 ip_tables 的模块了!而查看模块与加载模块的指令分别为 lsmod, modprobe 哩!好了,你可以直接在命令提示字符底下进行工作:

 


  当然啦,如果要设计的人性化一点,可以使用底下的 script 来达成:





  呵呵!很简单吧!这样就 OK 啦!不过请特别留意上面表格当中的那个黄色的字体,其中, EXIF 指的是对外联机的网络接口,而 EXNET 指的则是要伪装 IP 的内部虚拟网域的 C Class 的网域数据啰!然后你将这个文件名称为 nat.sh 的资料,放置在你的 /usr/local/nat 底下,你可以这样做: 




  这样一来,下次开机就可以自动的连上 ADSL 之外,还可以自动的执行 NAT 的功能呦!
 
6. Client 端的设定参数:包含的是网络的设定参数而已!这个我们留在最后面讲!

0
相关文章