当前位置: 技术问答>linux和unix
关于Linux做代理服务器问题,请高人指点。
来源: 互联网 发布时间:2015-07-07
本文导语: 我们单位是通过ADSL将局域网连入外网的, 可是对每个办公室只分配了一个接入点,即绑定了网卡的MAC地址, So,我们想用代理服务器将全室连入外网, Windows 下用Sygate成功, 现要作Linux做代理服务器,不知如何配置...
我们单位是通过ADSL将局域网连入外网的,
可是对每个办公室只分配了一个接入点,即绑定了网卡的MAC地址,
So,我们想用代理服务器将全室连入外网,
Windows 下用Sygate成功,
现要作Linux做代理服务器,不知如何配置,(kingate成功,但同事都说麻烦)
有没有像Sygate一样的只需设置网关和DNS就可以的方法?
谢谢先!
可是对每个办公室只分配了一个接入点,即绑定了网卡的MAC地址,
So,我们想用代理服务器将全室连入外网,
Windows 下用Sygate成功,
现要作Linux做代理服务器,不知如何配置,(kingate成功,但同事都说麻烦)
有没有像Sygate一样的只需设置网关和DNS就可以的方法?
谢谢先!
|
使用iptables服务,要写一个配置文件。
|
squit,很好用的一个代理工具压,而且网上关于他的配置文件的说明一大把。去linux中坚站找找文章,很早以前配过,功能也满强大的
但是想说一句,我用windows一台比较旧的机子安装winxp用他的家庭网络共享,2M带宽带20台左右机子觉得速度很快的,干什么非要去用哪些复杂的东西呢?之后用天王防止别人攻击,效果很不错的,而且基本不用设置什么东西,但要一块好点的网卡效果更好
但是想说一句,我用windows一台比较旧的机子安装winxp用他的家庭网络共享,2M带宽带20台左右机子觉得速度很快的,干什么非要去用哪些复杂的东西呢?之后用天王防止别人攻击,效果很不错的,而且基本不用设置什么东西,但要一块好点的网卡效果更好
|
Squid Proxy Server基础入门
[ 作者:佚名 转贴自:本站原创 点击数:30 更新时间:2004-5-21 文章录入:潇洒独行 ]
简介:
九O年代是网际网路大放异彩的年代,尤其是World Wild Web的出现更使得人与人之间的距离越来越小,但是图形、影像和声音的剧增对原本速度就不快的internet来说无疑是雪上加霜,因此大大小小Proxy server便油然而生,其目的是为减轻网路负载,也可加快client端网页浏览的速度。当初proxy server本为保护firewall内主机的安全并做为local与remote间的传输煤介,关如下
Client端不但可以流览网页,也可以透过Proxy存取Inetrnet资源并抵挡外界的网路风暴与破坏。
说明:
Squid Internet Object Cache (Harvest Project的後续版本) 是美国政府大力助的一项研究计画,其目的为解决网路频宽不足的问题,是现在Unix系统上使用者最多功能也最完整的一套软体,目前台湾三大网Tanet、Hinet和Seednet有超过95%以上的Proxy Server使用。Apache和Netscape虽附有Proxy软体,但因功能简单而不够普及。有关squid的详细说明可到squid网站查询http://squid.nlanr.net/Squid/。
安装说明:
我们这次安装的平台是Pentium 200 MMX,使用32 mb 记忆体,有2.5 gb的硬碟,安装的是Slackware-3.3 Linux,核心为 linux-2.0.30。目前squid稳定的版本是1.1.16,另有一个并行发展的软体squid-1.NOVM.16是适合於使用较少虚拟记忆体的主机,如使用的swap memory很小的话可以下载这个版本,但是file descriptors会变大,确定了我们所要使用的软体後,再来就可以把软体下载到主机中,这次我们使用的是squid-1.1.16.tar.gz,首先用adduser增加一个proxy user,因为使用root帐号开启proxy server会有安全上的问题且程式本身也不允许,再来的动作都由proxy user来完成,如此才不会有权限不足而导致cache无法写入的影响,把刚传下来的squid-1.1.16.tar.gz用tar解开,进入squid目录中依序输入
./configure --prefix=/usr/local/squid
make all
make install
便完成了所有compiler和install的过程,此时我们的 squid完全install到/usr/local/squid目录下,进入安装完成的目录中或是link过来也可以,我们可以看到三个目录分别是bin、etc与log,进入bin中使用 squid z把要cache的目录建立起来,再来编辑etc目录下的squid.conf,有关 squid.conf语法稍後会详述,完成所有设定後便可以背景执行squid或是放在/etc/rc里,成一开机便执行的daemon,执行後可使用bin里的client测试squid是否成功的执行,方法 client h localhost p 3128
squid.conf 设定说明:
http_port: squid接受client端http需求使用的阜号,预设 值3128,在命令列中也可使用squid a做设定。
icp_port: squid接收或传送icp讯号所使用的阜号,预设值为3130,如非必要不需做修改,也可使用squid u在命令列中做设定。icp是一种udp_base的封包,主要的功能为web cache主机间连络的讯息格式,也因为是udp_base的封包,所以速度上也就比client与server间的tcp封包还来的快,可减少cache主机间传送的时间。
cache_host: 设定其它的cache主机,当server收到client端的request时,便透过3130这个port传送icp给设定中的每一台cache主机,如cache host有client端所需求的资料,便传送一份给server,如没有server便自己抓取资料。例:
cache_host proxy.nsysu.edu.tw sibling 3128 3130 option
第一为hostname。
第二为type 有 “parent” “sibling” “multicast”。
在web cache的阶层里,同一个cache level里以sibling称之,在上位者则为parent,不过在整个cache level中并没有很明显的分层,所以每一台主机有可能是sibling 或是 parent。当server收到request时,先对所有的sibling和parent送出ICP去询问,等待回应开始对第一个回应HIT的cache抓object,如没有人回覆HIT,就对先回覆MISS的parent开始抓取,找到资料後送给host并自己cache起来,若都失败server便乖乖的自己去source抓取资料。
第三为proxy_port 为cache主机的porxy port。
第四为icp_port cache主机接收icp的port,通常为3130。
第五为option 有proxy-only、weight=n、ttl=n、no-query、default、round-robin、multicast-responder等。当proxy server的储存空间很少时,可加上proxy-only,server便不会把资料cache住,直接将资料送往client。Weight值为与parent间的依赖性,值越大依赖性越大,预设值为1。
Inside_firewall:设定firewall内主机domain。
Local_domain:设定local_domain主要是把这些网域视为本身网域的一部份,如此一来当所要抓取的URL为是在本网域中,则不必再向Neighbor/Sibling询问了,只要是与有直接连线的都可设为local_domain。
Local_ip:与local_domain同。
Neighbor_timeout:当送出icp时等待回应的时间。
Cache_mem:用来储存物件的记忆体大小,包括in-transit、negative和”hot”物件,通常设定实体记忆体的三分之一大小,所谓的实体记忆体是只主记体加上swap memory。In-transit比negative与hot等物件拥有较大的优先权,当有资料进来时,negative与hot objects将会首先被更新,换句话说,两者将会填满所有in-transit objects没有使用的记忆体空间。
Cache_swap: Proxy使用的最大磁碟空间,当使用的空间接近此值的话,cache使用LRU(Least-Recently-Used)的设定来删除过久的资料。Squid对物件的清除是由每个物件的LRU年龄档标准,如太久没用的就会先被清除掉,倘若cache占硬碟的容量低时,物件较不易被清除,但若cache越来越满时,LRU限制较高,资料清除较快。
Cache_log:硬碟中所要当cache的目录。
Log_fqdn:如client有domain name的话,access.log便会把domain name完整的记录下来。
ftp_user:假如需要使用 anonymous ftp来抓取档案,会送出後面所接的字串当 password。
Dns_children: Squid本身附有一个dnsserver程式来处理client端domain name的需求,一般来说,当proxy有较大的使用量时,dns children设定较多可以处理的domain name request较多也较快,但当设定过多的dnsserver对系统的performance也会有相当的影响,可使用cache manger来观看每个dnsserver的使用量决定数量的多寡。
Refresh_pattern:更新cache的时间,其演算法则如下:
FRESH if age
[ 作者:佚名 转贴自:本站原创 点击数:30 更新时间:2004-5-21 文章录入:潇洒独行 ]
简介:
九O年代是网际网路大放异彩的年代,尤其是World Wild Web的出现更使得人与人之间的距离越来越小,但是图形、影像和声音的剧增对原本速度就不快的internet来说无疑是雪上加霜,因此大大小小Proxy server便油然而生,其目的是为减轻网路负载,也可加快client端网页浏览的速度。当初proxy server本为保护firewall内主机的安全并做为local与remote间的传输煤介,关如下
Client端不但可以流览网页,也可以透过Proxy存取Inetrnet资源并抵挡外界的网路风暴与破坏。
说明:
Squid Internet Object Cache (Harvest Project的後续版本) 是美国政府大力助的一项研究计画,其目的为解决网路频宽不足的问题,是现在Unix系统上使用者最多功能也最完整的一套软体,目前台湾三大网Tanet、Hinet和Seednet有超过95%以上的Proxy Server使用。Apache和Netscape虽附有Proxy软体,但因功能简单而不够普及。有关squid的详细说明可到squid网站查询http://squid.nlanr.net/Squid/。
安装说明:
我们这次安装的平台是Pentium 200 MMX,使用32 mb 记忆体,有2.5 gb的硬碟,安装的是Slackware-3.3 Linux,核心为 linux-2.0.30。目前squid稳定的版本是1.1.16,另有一个并行发展的软体squid-1.NOVM.16是适合於使用较少虚拟记忆体的主机,如使用的swap memory很小的话可以下载这个版本,但是file descriptors会变大,确定了我们所要使用的软体後,再来就可以把软体下载到主机中,这次我们使用的是squid-1.1.16.tar.gz,首先用adduser增加一个proxy user,因为使用root帐号开启proxy server会有安全上的问题且程式本身也不允许,再来的动作都由proxy user来完成,如此才不会有权限不足而导致cache无法写入的影响,把刚传下来的squid-1.1.16.tar.gz用tar解开,进入squid目录中依序输入
./configure --prefix=/usr/local/squid
make all
make install
便完成了所有compiler和install的过程,此时我们的 squid完全install到/usr/local/squid目录下,进入安装完成的目录中或是link过来也可以,我们可以看到三个目录分别是bin、etc与log,进入bin中使用 squid z把要cache的目录建立起来,再来编辑etc目录下的squid.conf,有关 squid.conf语法稍後会详述,完成所有设定後便可以背景执行squid或是放在/etc/rc里,成一开机便执行的daemon,执行後可使用bin里的client测试squid是否成功的执行,方法 client h localhost p 3128
squid.conf 设定说明:
http_port: squid接受client端http需求使用的阜号,预设 值3128,在命令列中也可使用squid a做设定。
icp_port: squid接收或传送icp讯号所使用的阜号,预设值为3130,如非必要不需做修改,也可使用squid u在命令列中做设定。icp是一种udp_base的封包,主要的功能为web cache主机间连络的讯息格式,也因为是udp_base的封包,所以速度上也就比client与server间的tcp封包还来的快,可减少cache主机间传送的时间。
cache_host: 设定其它的cache主机,当server收到client端的request时,便透过3130这个port传送icp给设定中的每一台cache主机,如cache host有client端所需求的资料,便传送一份给server,如没有server便自己抓取资料。例:
cache_host proxy.nsysu.edu.tw sibling 3128 3130 option
第一为hostname。
第二为type 有 “parent” “sibling” “multicast”。
在web cache的阶层里,同一个cache level里以sibling称之,在上位者则为parent,不过在整个cache level中并没有很明显的分层,所以每一台主机有可能是sibling 或是 parent。当server收到request时,先对所有的sibling和parent送出ICP去询问,等待回应开始对第一个回应HIT的cache抓object,如没有人回覆HIT,就对先回覆MISS的parent开始抓取,找到资料後送给host并自己cache起来,若都失败server便乖乖的自己去source抓取资料。
第三为proxy_port 为cache主机的porxy port。
第四为icp_port cache主机接收icp的port,通常为3130。
第五为option 有proxy-only、weight=n、ttl=n、no-query、default、round-robin、multicast-responder等。当proxy server的储存空间很少时,可加上proxy-only,server便不会把资料cache住,直接将资料送往client。Weight值为与parent间的依赖性,值越大依赖性越大,预设值为1。
Inside_firewall:设定firewall内主机domain。
Local_domain:设定local_domain主要是把这些网域视为本身网域的一部份,如此一来当所要抓取的URL为是在本网域中,则不必再向Neighbor/Sibling询问了,只要是与有直接连线的都可设为local_domain。
Local_ip:与local_domain同。
Neighbor_timeout:当送出icp时等待回应的时间。
Cache_mem:用来储存物件的记忆体大小,包括in-transit、negative和”hot”物件,通常设定实体记忆体的三分之一大小,所谓的实体记忆体是只主记体加上swap memory。In-transit比negative与hot等物件拥有较大的优先权,当有资料进来时,negative与hot objects将会首先被更新,换句话说,两者将会填满所有in-transit objects没有使用的记忆体空间。
Cache_swap: Proxy使用的最大磁碟空间,当使用的空间接近此值的话,cache使用LRU(Least-Recently-Used)的设定来删除过久的资料。Squid对物件的清除是由每个物件的LRU年龄档标准,如太久没用的就会先被清除掉,倘若cache占硬碟的容量低时,物件较不易被清除,但若cache越来越满时,LRU限制较高,资料清除较快。
Cache_log:硬碟中所要当cache的目录。
Log_fqdn:如client有domain name的话,access.log便会把domain name完整的记录下来。
ftp_user:假如需要使用 anonymous ftp来抓取档案,会送出後面所接的字串当 password。
Dns_children: Squid本身附有一个dnsserver程式来处理client端domain name的需求,一般来说,当proxy有较大的使用量时,dns children设定较多可以处理的domain name request较多也较快,但当设定过多的dnsserver对系统的performance也会有相当的影响,可使用cache manger来观看每个dnsserver的使用量决定数量的多寡。
Refresh_pattern:更新cache的时间,其演算法则如下:
FRESH if age