希望Linux路由器上有這樣的幾個功能:DHCP,流量管控,DNS,Squid緩存,能夠禁止上一些網站,控制P2P,翻牆。
今天先實現最基本路由功能。
網絡結構:
一台兼容PC,雙網卡,eth0連在路由器上,接外網。eth1連在內網交換機上,開啟DHCP服務。其他電腦全部是客戶機,連在內網交換機上。
1)兼容PC上安裝好Linux,可以是RHEL,CentOS,Debian,Ubuntu等等。這裡我裝的是RHEL6.1
2)配置雙網卡。
如圖,eth0是dhcp,eth1是192.168.0.254,且eth1上不配置網關。
3)打開轉發功能
sysctl.conf : net.ipv4.ip_forward = 1
sysctl -p
4)在Linux上配置DHCP
[root@server ~]# cat /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
allow bootp;
allow booting;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.254;
option subnet-mask 255.255.255.0;
next-server 192.168.0.254;
filename="pxelinux.0";
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.0.200 192.168.0.240;
default-lease-time 21600;
max-lease-time 43200;
}
如果你有eth2,eth3,就需要定義多個 subnet 192.168.x.x 區域。根據eth2,eth3的IP來具體配置,同時也可以綁定客戶機網卡,尤其在機器數目比較多的時候。因為我的內網只有3台筆記本和1個台式機,所以無所謂。
5)配置iptables
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
同時將這句寫到/etc/rc.local末尾。
6)此時最基本的路由器就完成了!客戶端可以拿到IP,上網了。