实验室搭建服务器集群,需要建立局域网,原有网关设备因故障不能继续使用,所以从0开始学习并搭建网关。

1.概念
网关(gateway):一类网络管理设备的概念统称,其主要功能是将内网ip映射到公网ip,以达到访问外网的功能。

内网IP:是在网关ip段内的局域网ip地址,常见的做法是将网关设置为10.0.0.1,则对应的内网ip形式是10.0.XXX.XXX.
或者将网关设置为192.168.1.1,则对应的内网ip形式是192.168.XXX.XXX。第二种做法是家用路由器的默认方式。

公网IP:可以直接访问互联网的IP地址,一般来源于公司,企业,机关等。数量有限,分为ABC三类,不同类型的归属于不同的机构。

2.工作原理
设备a到z是局域网内的不同终端,但提供网络连接的公网IP只有一个,为了使所有终端能够同时上网,需要建立一个网关设备。网关自行分配给局域网内各个终端不同的局域网IP,然后通过转发将终端的请求映射到的外网的请求,实现所有终端同时上网。

3.配置步骤
硬件要求双网卡eth0以及eth1,内存至少为2G,如果局域网规模较大,应当考虑增加内存容量,硬盘要求不高,保证系统运行即可,100-200G均可。
系统要求Linux系统,笔者所用Ubuntu 14,
将该设备作为网关来配置。

第一步:安装DHCP服务并配置网卡
(1)安装DHCP服务:

sudo apt-get install dhcp3-server

(2)配置网卡信息,编辑/etc/network/interface,如下

auto eth0

iface eth0 inet static

address 192.168.X.XX

netmask 255.255.255.0

auto eth1

iface eth1 inet static

address 202.XX.XX.XXX

gateway 202.XX.XX.XXX

netmask 255.255.255.0

dns-nameservers XX.XX.XX.XX XXX.XX.XX.XX

其中eth0为内网的网关,eth1为外网的接口。到内网不用设置gateway。还有外网的设定要由实际情况来设,本人学校的IP地址是动态变化的,不能设置成静态。如果你公司分配了固定IP ,可以设置成静态的。

第二步:让设备实现简单的转发功能。

(1)通过以下指令查看路由表信息
#route
如果Iface列只包含本地loop,而没有eth0和eth1两个网卡信息,则添加两条路由表项,如果已存在则跳过下一步
(2)添加两条路由表项方法:

#route add -net 192.168.X.0 netmask 255.255.255.0 eth0
#route add -net 202.XX.XX.0 netmask 255.255.255.0 eth1

意思是192.等等开头的从eth0发出去,202.等等开头的从eth1发出去。

(3)路由表建立之后,要让从一个网卡进来的包可以forward到另一个网卡上去,键入以下命令:

#echo 1 > /proc/sys/net/ipv4/ip_forward

同时修改/etc/sysctl.conf, 将net.ipv4.ip_forward=1的注释去掉,这几个命令可能写成一个shell script开机运行,当然也可以手工操作。

第三步:双网卡实现内网转发

设置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.0.0/24 -o eth1 -j MASQUERADE
据说“第一句是清除掉之前所有的iptables规则,第二第三句是允许接收和发送数据包,第四句是在eth1网口上NAT“,只是比上面的多了几句废话,最后指定网卡参数什么,还没试过。iptables的用法还得好好学。

本人选择第一种方式,将内容写到.sh文件中,添加到开机自启动执行文件项中。
4.注意事项及遇到的问题
(1)注意区分两个网卡对应的配置方式,安装完成之后ifconfig一下,查看网卡的名称,很多情况下并非eth0和eth1,注意区分。
(2)dhcp安装的时候出现找不到安装包问题,依次执行

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install dhcp3-server

如果仍不能解决,采用

apt-get install isc-dhcp-server

方式安装DHCP服务

5.测试方式
将配置好的网关接口eth0接到外网,eth1接到交换机,交换机接到各个终端,测试能否同时访问网络。

参考:
http://www.cnblogs.com/fenggangwu/archive/2011/06/20/linux_gateway.html

http://www.linuxidc.com/Linux/2010-02/24474.htm

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐