普通家用的路由器可以称之为标准的linux嵌入式设备,所以拥有一台linux主机,也就可以具备路由器的全部功能。所需要的是可能你的linux主机需要至少两块网卡,或者还需要无线网卡。
提及一下简单的思路,具体的软件安装和配置方法可以分别从网上搜索。
编辑/etc/sysctl.conf文件中的net.ipv4.ip_forward值,将其修改为1,保存后再使用sysctl -p命令使配置即时生效。或者使用echo “1″ > /proc/sys/net/ipv4/ip_forward命令临时开启,重启后不生效的。这样就开启了Linux的路由转发功能。
再者安装DHCP,使你的linux主机成为一台DHCP服务器,DHCP的安装很简单,一般linux发行版都带有这个软件,如果默认没有安装使用安装光盘安装,或者从网上下载也可,只是版本众多,所以用光盘里的也是最省事的办法。配置文件为/etc/dhcpd.conf,具体的配置可以参考我的另一篇文章启用dhcp relay为不同子网分配IP, option domain-name-servers需要配置为本机的IP,也就是你DHCP服务器准备分配地址的网卡IP。
接下来就需要安装DNS服务器了,这里使用DNS并不是需要这台主机解析域名,仅仅是一个转发DNS请求的作用。所以安装后应该不需要配置什么。安装的组件应该是bind,bind-chroot等。 当然,如果DHCP的option domain-name-servers配置了一个可用的公网DNS,那么就不需要安装DNS了。
最后还需要iptables来开启NAT伪装,来做地址转换,开启的命令如下,iptables -t nat -A POSTROUNTING -o eth0 -j MASQUERADE ,具体网口地址就是你的外网口,视具体情况修改。可以将这条命令写入/etc/rc.d/rc.local或者用iptables-save > /root/iptables-saved来保存目前的iptables状态,再将iptables-restore /root/iptables-saved写入/etc/rc.d/rc.local,来使开机配置生效。
这样简单的就成了,工作的原理也很简单了,linux主机为客户端分配IP,分配网关、DNS,网关地址和DNS地址应该都是这台linux主机,这台linux主机的外网口接入了互联网,他的接入方式可能是局域网静态地址,也可能是动态地址,或者是PPPOE拨号接入的,这些都无所谓,我们的linux主机始终会将另一个内网口(dhcp分配地址所在的网卡)的数据转发至外网口上来,从而使客户端看起来在通过一台路由器上网了。
或者还可以安装NTP,PPPOE服务,甚至radius,如果有无线网卡,也许还应该有hostapd来配合无线网卡来加密SSID,总之就是随心所欲了。
所有的安装配置都写的很简单,旨在记录一种思路和方法,以备不时之需了。


COMMENTS