现在用Linux做HTTP代理服务的是越来越多,本人是小菜一个对这方面是一点都不懂想找人学。可是,某此人以钱为主,本来出钱也无所谓了只要能学到东西,本事能学到手也行。
可有些人太黑,竟要我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服务,其它服务的勾全部去掉.