Linux做代理服务器实现步骤
现在用Linux做代理服务的是越来越多,本人是小菜一个对这方面是一点都不懂想找人学。可是,某此人以钱为主,本来出钱也无所谓了只要能学到东西,本事能学到手也行。
可有些人太黑,竟要我1000+RMB,我一小网管那来那么多钱,只能自己摸索了。在网上找了N多教程,照着做都不成功,可以是小弟太笨不能理解大师门的话没做好,自己又在网找了些关于iptables 资料,终于被我经弄出来了。
现在我把我的做法写出来跟大家分享。呵呵!可能是最简单的方法,大家不要笑小弟哦。如那位高手看了,请多多指点。费话少说,现在进入正题。
Linux做代理服务器最简单的做法,用RedHat9.0为例
找一台能装上Linux的机器最少要有两块网卡
1.安装Linux,不管是在图形,还是文体下都可以,选择最小安装,在安装的时候可以先配置一下外网的IP和DNS(不设也行),其它全部默认
安装好后进入提示符
2.进入提示符以后,首先配置下网卡:
eth0 (外网网卡)配置文件路经为:/etc/sysconfig/network-scripts/ifcfg-eth0
用 vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改eth0的内容,如果安装得时候配好了就不用配了,检下看有错没就行了。
eth0的内容为:(注IP为假设IP,#为注释不用写)
DEVICE=eth0 #硬件设备名
BOOTPROTO=static #配置方式
BROADCAST=218.28.9.255 #广播地址
IPADDR=218.28.9.123 #是你的IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=218.28.9.0 #整个网段的地址
ONBOOT=yes #是否启用网卡(一般默认是开启的)
eth1(内网网卡),配置文件路经为:/etc/sysconfig/network-scripts/ifcfg-eth1
用 vi /etc/sysconfig/network-scripts/ifcfg-eth1 修改eth0的内容
eth1的内容为:
DEVICE=eth1#硬件设备名
BOOTPROTO=static #配置方式
BROADCAST=192.168.0.255#广播地址
IPADDR=192.168.0.1 #是你的IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.0.0 #整个网段的地址
ONBOOT=yes #是否启用网卡(一般默认是开启的)
网卡配置完了大家可以用ifconfig命检查下网卡有没配错
3. 现在来设置外网网关,和ISP提供的DNS
网关的配置文件路径是/etc/sysconfig/network用vi 编辑如果在安装时已经设好这个不用改。
内容为:
NETWORKING=yes #这个不知道是什么意思默认为yes不用改
HOSTNAME=rslinux #你的主机名 不用改
GATEWAY=218.28.9.120 #你的外网网关
下来加上DNS如果安装时设好就不用改了
DNS配置文件路径为:/etc/resolv.conf用vi 编辑
语法是:
nameserver 20.2102.224.68(可以加多条)
以上基本工作全部做完以后我可以用route命令检查下路态如果读出来很顺利则说明没问题.
我的做完以后是这样的
192.168.0.0* 255.255.255.0 U 0 0 0 eth1
218.28.9.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0* 255.255.255.0 U 0 0 0 eth1
127.0.0.0 * 255.255.255.0 U 0 0 0 lo
default hn.pds.kd.ADSL 255.255.255.0 U 0 0 0 eth0
3.用IPTABLES 实现双网卡NAT功能,从而实现代理服务器上网
上面的工作做完了之后我们修改sysctl.conf,也就是IP转发文件。在这里我们一定要起用IP转发才可以。
sysctl.conf 路径为/etc/sysctl.conf
里面可以这样写:
net.ipv4.ip_forward=1
net.ipv4.conf.default.rp_filter=1
kernel.sysrq=0
4.最后编辑rc.local文件
vi /etc/rc.d/rc.local #编辑起动批处理文件,在文件末尾添加如下几行
iptables -F #清除iptables表
iptables -F -t nat #清除iptables IP nat表
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE #把内网ip伪装为外网的以至接通internet
echo 1>/proc/sys/net/ipv4/ip_forward #启动ip中转功能.
到此,重启机器后代理服务器就能用了。
如果不想加载那么多服务可用ntsysv 命令把服务去掉只留下iptables服务和networks服务,其它服务的勾全部去掉.
注:以上请大家注意大小写,写错了是不能用的
呵呵,到此结束,费话多了点请大不要介意,我只是好心想说的明白点。