Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。linux系统的强大的功能和绚丽的界面使得许多网管都把服务器安装为linux系统。下文介绍了如何打造linux代理服务器的方法。
在很多大学和科研机构里,合法的ip和端口并不多,因此很多部门都是采用代理上网,用微软的ProxyServer固然方便,不过效率低,性能不好,而且最主要的是费用太贵。
因此采用廉价的Linux服务器做代理上网就成了一个很好的解决方法。经过几天的调试,笔者用Linux做透明网关服务器,让宿舍的其他机器都可以通过一台Linux机器共享一个网。感觉非常好。实现的方法是设置IP伪装。
背景
机器0:
OS:Redhat6.0,成功安装了双网卡
eth0:192.168.2.61,连接到了校园网上
eth0'sNetMask:255.255.254.0
eth1:192.168.11.1,连接到宿舍局域网上
eth1'sNetMask255.255.255.0
其中,宿舍局域网的IP是自定义的,为非法地址。
机器1:
OS:Win9x
IP:192.168.11.2
GateWay:192.168.11.1/*机器0的eth1*/
NetMak:255.255.255.0
DNS:202.116.64.3/*校园网的名字服务器*/
目的
使机器1能够通过机器0上到校园网,就好像机器1直接连到校园网上一样,故此把机器0叫做透明网关。
原理
由于只有机器0的IP为合法地址,机器1想要上到校园网,就要把机器1发送的数据包经过
机器0伪装后再转发出去。期间,机器0把机器1的IP数据包中的本地地址抽取出来并存储,且用机器0的本地地址代替后转发出去返回的数据包经过机器0恢复后再转发给机器1。
步骤
1、保证机器0能够出校园网,并且能够Ping到机器1,机器1也能够Ping到机器0。至于这如何设置不再此次的讨论范围之内。
2、在机器0上打开xwindows,运行:netcfg选择routing,允许(使能)Network
PacketForwarding(IPV4)。在机器0上建立一个文件:ruleschmod+xrules使rules
变为可执行文件。
=(echo1>/proc/sys/net/ipv4/ip_forward)
3、建立一个rules文件,具体路径可以放到如/sbin中。编辑这个文件,填写以下内容:
#在默认状况下拒绝所有ip转发。.0
- /sbin/ipchains-PforwardDENY
#允许宿舍网通过机器0使用ip转发,至于ipchains参见manipchains或者ipchains
howto(参考我们站点上的构建基于ipchains的Linux防火墙)
- /sbin/ipchains-Aforward-jACCEPT-ieth1-s192.168.0.0/24
- /sbin/ipchains-Aforward-jMASQ-ieth0-s192.168.0.0/24
#增加你需要的伪装模块。
- /sbin/modprobeip_masq_ftp
- /sbin/modprobeip_masq_quake
- /sbin/modprobeip_masq_irc
- /sbin/modprobeip_masq_user
- /sbin/modprobeip_masq_raudio
4、执行/sbin/rules即可。
若把执行rules这个命令加到/etc/rc.d/rc.local中,那么ipchains就可以启动时自动执行。本方法对于拨号上网同样适用。
简单的方法:
其实用LINUX做网关(只做为可以带动整个局域上INTERNET的网关)很简单,只要先连通
(或拔号)上INTERNET,然后运行如下两条命令,
(当然要以root的身份):
命令1:
- #echo1>/proc/sys/net/ipv4/ip_forward
说明:允许NetworkPacketForwarding(IPV4)
命令2:
- #/sbin/ipchains-Aforward-jMASQ-Sxxx.xxx.xxx.xxx/32
说明:xxx.xxx.xxx.xxx为局域网内部某台机器的IP地址,此命令的意思是允许把xxx.xxx.xxx.xxx机器的IP包请求进行伪装执行完这两条命令就可以了
***:不过这样是不是有安全问题呢?内网所有机器网关填Linux主机的内网地址。
总结:
希望本文介绍的打造Linux代理服务器的方法能够对读者有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。
【编辑推荐】