这两天利用业余时间,将单位的代理网关进行了改造。
现有的网关是一台PII机器,安装有windows 2000系统和sygate等软件,偶尔会出现停滞现象。我尝试在Linux上架设相关服务替代这个网关,并取得了初步的成功。
硬件:用一台Celeron 500的老无盘站,内存96MB(插满),挂上一块3G的三星硬盘,两块realtek网卡
软件:Redhat 9(为了方便其他人维护,装上了图形界面,系统占用1G的硬盘空间)
网络:网通ADSL线路一条
详细操作过程:
【注】
在这里将eth0作为与局域网连接的网卡,将eth1作为与adsl连接的网卡
局域网地址范围为192.168.0.1-192.168.0.254
1、加载下列模块
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
2、vi /etc/sysconfig/network-scripts/ifcfg-eth0;
vi /etc/sysconfig/network-scripts/ifcfg-eth1
将eth0设置为局域网IP,将eth1设置为自动分配IP
3、adsl-setup
设置adsl拨号属性,注意将连接网卡设置为eth1,防火墙模式建议选2
4、adsl-start
测试adsl是否正常工作
5、vi /etc/rc.local
加入以下几行:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
/sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
6、adsl-start
测试一下,局域网内的其它用户也可以访问网络了。
[运行效果]
速度比原来快了很多,而且更稳定了。
[总结]
做网关的机器,配置不用太好,内存稍微大点即可。
建议使用Debian架设类似的网关,不安装图形界面,这样一块540M的硬盘就足够了。
如果局域网的节点比较多,并且想进一步提高网页浏览速度,可以使用squid做透明代理,同时mount若干M的内存作为squid的缓存(使用tmpfs)。