使用Linux建立一个全功能路由器

希望Linux路由器上有这样的几个功能:DHCP,流量管控,DNS,Squid缓存,能够禁止上一些网站,控制P2P,翻墙。

今天先实现最基本路由功能。

网络结构:

一台兼容PC,双网卡,eth0连在路由器上,接外网。eth1连在内网交换机上,开启DHCP服务。其他电脑全部是客户机,连在内网交换机上。

1)兼容PC上安装好Linux,可以是RHEL,CentOS,Debian,Ubuntu等等。这里我装的是RHEL6.1

2)配置双网卡。

使用Linux建立一个全功能路由器

如图,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,上网了。

相关推荐