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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 40 ::
收藏到网摘: 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(把#改为@)。