感谢支持
我们一直在努力

双网卡PC+Ubuntu系统实现路由器

为了实现路由器功能,这里需要使用NAT技术,详细流程如下:



STEP 1


为机器装好两块网卡。集成的或是独立的无所谓。编辑/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。还有外网的设定要由实际情况来设,如DHCP等,实际的DNS服务器等。我这里的情况上静态的IP,还要与MAC绑定,之前MAC没有设好,卡了我很久。



STEP 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发出去。


其次要让从一个网卡进来的包可以forward到另一个网卡上去,键入以下命令:


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


同时修改/etc/sysctl.conf, 将net.ipv4.ip_forward=1的注释去掉


这几个命令可能写成一个shell script开机运行,当然也可以手工操作。


STEP 3


到上面一步只是实现了路由器的功能,还没有到NAT的实现。linux主机实现NAT是通过iptables命令实现的。


一般添加 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE即可;


当连接外网时,可以再添加 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE



Trouble Shooting


开始的时候,碰到好多问题。硬件搭好后就是上不了网,以下是我的排错经验


网关上来回ping,看是否可以ping通内网与处网的IP地址,如果不通,检查物理连接和基本设置,如MAC地址等,DNSserver是否写对


如果可以,则问题出在网间转发上,转到上述STEP2检查是否正确设置


Summary


1、虽然NAT路由功能实现,但是该路由的自适应性有待进一步研究;


2、为了更好地管理和配置该路由器,需要开发后台管理界面���目前的工作的基于eybuild实现。但是后期有


非常多的配置,所以仍需加油哦!

赞(0) 打赏
转载请注明出处:服务器评测 » 双网卡PC+Ubuntu系统实现路由器
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏