Linux做代理服务器实现步骤详解

时间:2022-04-12 21:25:19

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服务,其它服务的勾全部去掉.

注: 以上请大家注意大小写,写错了是不能用的

呵呵,到此结束,费话多了点请大不要介意,我只是好心想说的明白点。