发布时间:2022-04-23 文章分类:Linux + 投稿人:樱花 字号: 默认 | | 超大 打印

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

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

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