当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 网管经验:打造网吧Linux代理服务器

Linux服务器
htaccess Rewrite中文编码问题解决方法
缓存服务器的建立原理分析
Nginx虚拟主机多server_name的顺序问题
Nginx+PHP+MySQL双机互备、全自动切换方案
Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化
VPS 配置优化笔记
解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误
apache tomcat 一个网站多域名的实现方法
SSH 登录工具常用命令
httpd.conf 二级域名设置方法
linux 安装配置lamp v2
Tomeat6.0 连接池数据库配置
让你知道什么是 SVN
用rsync对网站进行镜像备份实现步骤
linux备份与恢复基础知识
限制 Apache日志文件大小的方法
Linux+Nginx+Php架设高性能WEB服务器
linux Apache CGI 安装配置
Apache 认证总结
Apache 二级域名实现方法介绍

Linux服务器 中的 网管经验:打造网吧Linux代理服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 38 ::
收藏到网摘: n/a

  有3种途径

  1。用 squid, sock 等代理软件。

  2。用 ipchain 作地址伪装。

  3。用 ipchain + squid 作透明代理

  一、前言

  在很多大学和科研机构里,合法的ip和端口并不多,因此很多部门都是采用代理上网,用微软的ProxyServer固然方便,不过效率低,性能不好,而且最主要的是费用太贵。

  因此采用廉价的Linux服务器做代理上网就成了一个很好的解决方法。经过几天的调试,笔者用Linux做透明网关服务器,让宿舍的其他机器都可以通过一台Linux机器共享一个网。感觉非常好。实现的方法是设置IP伪装。

  二、背景

  机器 0:

  OS:Redhat 6.0, 成功安装了双网卡

  eth0: 192.168.2.61,连接到了校园网上

  eth0's NetMask: 255.255.254.0

  eth1: 192.168.11.1,连接到宿舍局域网上

  eth1's NetMask 255.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

  Packet Forwarding(IPV4)。在机器0上建立一个文件:rules chmod +x rules使rules

  变为可执行文件。

  =(echo 1 > /proc/sys/net/ipv4/ip_forward)

  3、建立一个rules文件,具体路径可以放到如/sbin中。编辑这个文件,填写以下内容:

  #在默认状况下拒绝所有 ip 转发。.0

  /sbin/ipchains -P forward DENY

  #允许宿舍网通过机器0使用ip转发,至于ipchains参见man ipchains或者ipchains

  how to(参考我们站点上的构建基于ipchains的Linux防火墙)

  /sbin/ipchains -A forward -j ACCEPT -i eth1 -s 192.168.0.0/24

  /sbin/ipchains -A forward -j MASQ -i eth0 -s 192.168.0.0/24

  #增加你需要的伪装模块。

  /sbin/modprobe ip_masq_ftp

  /sbin/modprobe ip_masq_quake

  /sbin/modprobe ip_masq_irc

  /sbin/modprobe ip_masq_user

  /sbin/modprobe ip_masq_raudio

  4、执行/sbin/rules即可。

  若把执行rules这个命令加到/etc/rc.d/rc.local中,那么ipchains就可以启动时自动执行。 本方法对于拨号上网同样适用。

  二:简单的方法:

  其实用LINUX做网关(只做为可以带动整个局域上INTERNET的网关)很简单,只要先连通

  (或拔号)上INTERNET,然后运行如下两条命令,

  (当然要以root的身份):

  命令1:

  # echo 1 > /proc/sys/net/ipv4/ip_forward

  说明:允许Network Packet Forwarding(IPV4)

  命令2:

  # /sbin/ipchains -A forward -j MASQ -S xxx.xxx.xxx.xxx/32

  说明:xxx.xxx.xxx.xxx为局域网内部某台机器的IP地址,此命令的意思是允许把xxx.xxx.xxx.xxx机器的IP包请求进行伪装 执行完这两条命令就可以了

  最后:

  不过这样是不是有安全问题呢?

  内网所有机器网关填Linux主机的内网地址
 
  请作者联系本站,及时附注您的姓名。联系邮箱:edu#ruanchen.com(把#改为@)。