当前位置:  技术问答>linux和unix

如何用linux做服务器上网?

    来源: 互联网  发布时间:2014-12-10

    本文导语:  新装了linux7.3,一切正常,想请问一下怎么用它做局域网的服务器上网?(adsl) 我们现在用这台机子做服务器(win98),上的adsl,室友用linux上网很顺利,不知道如果我想用这台机子的linux做服务器,如何连上adsl?要装些什么?在哪里...

新装了linux7.3,一切正常,想请问一下怎么用它做局域网的服务器上网?(adsl)
我们现在用这台机子做服务器(win98),上的adsl,室友用linux上网很顺利,不知道如果我想用这台机子的linux做服务器,如何连上adsl?要装些什么?在哪里有下载的?谢谢!
另:是不是必须选择"server"?我选的"work station".

|
squid和squidGuard配置代理服务器 

前言: 
本文主要介绍了在linux使用squid和squidGuard配置代理服务器,以www代理服务为例介绍如何过滤有害站点和限制用户对internet的访问。 

一. 介绍 
Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP,FTP,Gopher,SSL和WAIS等协议的代理;设置简单,只需对配置文件中稍稍改动就可使代理服务器运转起来。而且Squid具有页面缓存功能,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。 
squidGuard则是作为squid的辅助软件,完成过滤、重定向和访问控制的功能。它是一个自由软件,功能强,便于安装、易于配置、而且处理速度快。功能主要包括:根据web服务器或URLs列表限制一些用户的访问;阻塞某些用户对黑名单上的web服务器和URLs的访问;阻塞某些用户对正则表达式匹配的URLs的访问;在URL路径加强了使用域名访问而禁止用IP访问;重定向阻塞的URLs到一个智能CGI的信息页;重定向非授权用户到一个注册页面;具有基于日期、每周、每天具体时间的访问规则;对不同用户组有不同的规则。但是不能过滤、检查文档中的文本以及HTML中的JavaScript或Vbscript脚本语言。 

二. 安装 
1。安装squid: 
从www.squid-cache.org下载squid-2.4.STABLE2-src.tar.gz存在本地/usr/local/squid/src下。 
在编译Squid之前,建立一个专门运行Squid的用户和组,这里建立了名为squid的组和用户,用户目录设为/usr/local/squid 
#su squid 
$cd /usr/local/squid/src 
$tar xvzf squid-2.4.STABLE2-src.tar.gz 
$ cd squid-2.4.STABLE2 
$./configure 
$make 
$make install 
(默认安装到/usr/local/squid目录下) 

2。安装Berkeley DB 2.x: 
从http://www.sleepycat.com 下载db-2.7.7.tar.gz并存在/usr/local/squidGuard/src/目录下 
$su 
#cd /usr/local/squidGuard/src/ 
#tar xvzf db-2.7.7.tar.gz 
#cd db-2.7.7 
#cd build_unix 
#../dist/configure 
#make 
#make install 
(默认安装到/usr/local/BerkeleyDB目录下) 
注意:squidGuard不支持Berkeley DB 3.x版本 

3。安装squidGuard 
从http://ftp.ost.eltele.no/pub/www/proxy/squidGuard/squidGuard-1.1.4.tar.gz下载软件包并存于本地/usr/local/squidGuard/src/ 
#cd /usr/local/squidGuard/src/ 
#tar xvzf squidGuard-1.1.4.tar.gz 
#cd squidGuard-1.1.4 
#./configure --with-sg-config=/usr/local/squidGuard/squidGuard.conf 
--with-sg-logdir=/usr/local/squidGuard/logs 
--with-sg-dbhome=/usr/local/squidGuard/db 
#make 
#make test //测试ok,即可进行下一步安装 
#make install 

三. 配置 
1.配置squid: 
修改squid的配置文件/usr/local/squid/etc/squid.conf: 
http_port 8080 
#squid的代理端口,使用1024以下的端口,squid必须以root身份运行 
http_access allow all 
#允许所有的用户通过代理进行http访问 
redirect_program /usr/local/squid/bin/squidGuard -c /usr/local/squidGuard/squidGuard.conf 
#squid启用squidGuard进行过滤和转发 
其它参数: 
cache_mem:设置代理服务使用的内存大小,一般推荐为物理内存的三分之一 
cache_dir:指定cache目录的路径,默认为/usr/local/squid/cache。 
maximum_object_size: 指定Squid可以接收的最大对象的大小。Squid缺省值为4M,可以根据自己的需要进行设定。 
cache_dir:设定缓存的位置、大小。一般格式如下: 
cache_dir /usr/local/squid/cache 100 16 256 
/usr/local/squid/cache代表缓存的位置;100代表缓存最大为100M;16和256代表一级和二级目录数。 
cache_effective_user:设定使用缓存的有效用户。缺省为用户nobody,如果系统中没有用户nobody,最好建一个或以非root用户运行Squid。这里是以squid身份运行的 
cache_effective_group:设定使用缓存的有效用户组。缺省组为nogroup,如果系统中没有组nogroup,最好建一个组。这里是squid组。 
 (其余参数用默认值即可!) 

2.配置squidGuard: 
修改squidGuard的配置文件/usr/local/squidGuard/squidGuard.conf文件: 

logdir /usr/local/squidGuard/logs #日志目录定义 
dbhome /usr/local/squidGuard/db #db目录定义 

time testtime { #时间规则定义 
weekly mtwhf 05:00 - 10:30 
weekly as 08:00 - 19:00 
date *-*-01 08:00 - 16:30 
date 2001.10.01 - 2001.10.09 


src admin { #源组定义 
ip 192.168.100.18 


src client{ 
ip 192.168.100.20 192.168.100.21 192.168.100.22 
ip 192.168.200.0/24 


dest porn { #目标组定义 
domainlist porn/domains 
urllist porn/urls 
expressionlist porn/expressions 


acl { #访问规则定义 
admin within testtime { 
pass !porn all 
} else { 
pass all 


client { 
pass !in-addr !porn all 


default { 
pass none 
redirect http://admin.foo.com 
(#也可以重定向到一个含有一些信息的cgi页面,如下: 
http://admin.foo.com/cgi/blocked?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&targetgroup=%t&url=%u) 



# vi db/porn/domains 
(域列表文件:主要是阻塞一些定义的站点) 
co.za 
sex.com 
(如上,可以阻塞如hack.co.za、sex.com、www.sex.com、whatever.sex.com,但是不同于.*[^.]sex.com,不匹配ssex.com) 

# vi db/porn/urls 
(url列表文件,主要是阻塞一些站点及其一些栏目) 
qihui.com/sex 
valen.sohu.com/album 
(如上可阻塞http://qihui.com/sex、http://qihui.com/sex/whatever、ftp://qihui.com/sex、http://www.qihui.com/sex等) 

# vi db/porn/expressions 
(表达式列表文件,主要是阻塞一些与表达式匹配的URL访问) 
(^|[?+=/])(.*)(girl)(.*)([?+=/]|$) 
(上面的正则表达式可以阻塞URL中包括girl站点的访问,如:www.girlzine.com、girl.huabao.net、www.huayu.net/girl、www.universiti.com/girl等 ) 

注意:squidGuard对配置文件的语法要求很严,如果配置文件语法有误,squidGuard仍能运行,但是squidGuard已进入应急模式,此时代理服务不具有任何阻塞作用,所有通过该代理的访问都可通过,可以查看logs/squidGuard的日志文件,即可发现错误,例如: 
2001-12-20 17:08:44 [2430] parse error in configfile /usr/local/squidGuard/squidGuard.conf line 8 
2001-12-20 17:08:44 [2430] going into emergency mode 
……. 
其中配置文件第8行有误,squidGuard进入应急模式。 
配置的具体说明详见http://www.squidguard.org/ 

四. 运行: 
$ chmod 777 /usr/local/squid/logs 
(设置logs对所有用户为可写。这样,不特定的squid代理客户才能正常访问代理服务器,并能在logs目录、产生access.log、cache.log等文件。) 
$ /usr/local/squid/bin/squid -z 
(手工建立squid的缓存目录/usr/local/squid/cache。) 
#/usr/local/squid/bin/squid 
(后台执行squid。如果想前台执行squid:如果你想前台执行Squid执行命令: 
  $/usr/local/squid/bin/squid -NCd1 
  该命令正式启动Squid。如果一切正常,你会看到一行输出: 
  Ready to serve requests ) 
# ps ax|grep squid 
20198 ? S 0:00 /usr/local/squid/bin/squid 
20200 ? S 0:27 (squid) 
20310 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf 
20311 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf 
20312 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf 
20313 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf 
20314 ? S 0:00 (squidGuard) -c /usr/local/squidGuard/squidGuard.conf 
(此时squidGuard也已启用,每次修改配置后squid -k reconfigure重新起用即可,要杀掉squid执行squid -k kill) 
查看squidGuard日志文件: 
init domainlist /usr/local/squidGuard/db/porn/domains 
2001-12-20 16:14:43 [2270] init domainlist /usr/local/squidGuard/db/porn/domains 
2001-12-20 16:14:43 [2270] init urllist /usr/local/squidGuard/db/porn/urls 
2001-12-20 16:14:43 [2270] init expressionlist /usr/local/squidGuard/db/porn/expressions 
2001-12-20 16:14:43 [2270] squidGuard 1.1.4 started (1008836083.022) 
2001-12-20 16:14:43 [2270] recalculating alarm in 917 seconds 
2001-12-20 16:14:43 [2270] squidGuard ready for requests (1008836083.044) 
表示squidGuard已正常启动 

五. 测试: 
配置客户端,然后测试代理服务: 
在另一台win2k上,(以Internet Explore5.0为例)运行IE,单击"工具",接着单击"Internet选项",再单击"连接"选项卡,单击"局域网设置";在"局域网设置"窗口中,在"地址"处填上squid服务器的IP地址192.168.100.16,在"端口"处填上"8080"(修改后squid代理使用的端口号,也就是squid.conf中的http_port,默认值为3128),确定后退出。 
接下来,先把IP改成192.168.100.20,浏览一些网站,如sohu,163等,然后再试试domains和urls中定义的,如hack.co.za、qihui.com/sex,会发现主页被重定向到http://admin.foo.com。然后再试试浏览有关girl的网站,去不了了:(;在sohu中搜girl也被重定向了;用IP试试(有些代理程序对IP不做限制,用IP可以绕过代理的限制访问一些禁止的站点),可惜不行!(因为s

|
你先把/etc/sysctl.conf里的 
net.ipv4.ip_forward = 0 
把0改成1. 
然后重启计算机 

然后你到/etc/init.d下面把 
named 和iptables启动起来. 

你再执行这两条命令. 
iptables -t nat -A PREROUTING -d 218.100.100.100 -i ppp0 -j DNAT --to 192.168.0.2 
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE 

(218.100.100.100)是你的猫ip.
(192.168.0.0)是你的局域网网段
如果不行,你重起一下iptables(用restart参数) 
再执行这两条命令: 
iptables -t nat -A PREROUTING -i ppp0 -j DNAT --to 192.168.0.2 
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE 
这样是为了避免你的外部ip有变化.

|
linux的驱动程序是编译在内核中的,只要modem所用的芯片相同就可以作为描的驱动。这是和windows不同的地方。

    
 
 

您可能感兴趣的文章:

  • 对于用客户端上网的用户(客户端不支持linux)如何在linux下上网?
  • 急急!!!vmware安装了linux但是无法上网,我的windows使用的代理服务器上网?
  • 在Linux中如何配置拨号上网 和 ADSL上网
  • 有Linux关上网的上网的问题
  • windowsxp下可以上网,linux下相同配置不能上网,请高手指点.
  • 如何用linux 通过共享网络,不用拔号上网,连别的机器上网
  • ~~双网卡WinXP设置为共享上网,为什么Linux客户机不能上网~~
  • 请问如果用互联星空上网的话,虚拟机上的linux可以上网么
  • [如何上网]原来用WINGATE通过代理服务器上网,现在装LINUX也可以这样吗?
  • 我要用linux上网!!上网!!!
  • 现有一台装有2000的电脑能上网,让装有linux系统的电脑怎样设置才能上网?
  • red hat linux 9已经安装好了,但是无法上网(网络正常,在XP下可上网),请问该怎么配置才能上呢?
  • 我要上网!!谁来教我用 RED HAT LINUX8.0上网??
  • linux 9 下 怎么能上网?
  • linux 下无限上网,用哪种可以?
  • Linux虚拟机桥接上网
  • win7 和linux双系统,用LINUX不能上网
  • 菜鸟求助:Linux安装完了不能上网,SOS?
  • 求助关于Redhat Linux 9和windows XP双系统,Linux无法上网
  • Linux vpn 上网的问题
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • 有一台linux服务器,我想在Windows2000的系统上登陆到该linux服务器,使用什么工具登陆比较方便
  • 刚接触linux,公司要一个web服务器和一个数据库服务器,请问现在用linux哪个版本好,给点建议吧
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • linux 版本 想学习linux 可是不知他的服务器是哪个版本 iis7站长之家
  • linux 版本 想学习linux 可是不知他的服务器是哪个版本
  • 如果要用Linux作WEB服务器选择什么Linux较好?
  • 老板要用linux服务器共享一些CAD文件,并且要同步更新,linux有这功能吗?
  • linux工作站登入linux服务器能象win98登入nt那样吗
  • vmware装的linux,通过win2000访问linux的web服务器有问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下NFS服务配置详解
  • linux系统的服务器上能运行类似IIS的服务吗?
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 恳请对服务器的开发有经验的谈谈服务器开发经验(Unix/Linux & Win32):服务器构架、内存泄漏检测,异常出错……!!!
  • 我的linux安装时候忘了安装ssh服务,请问各位怎么添加进去这个服务呢?
  • linux下通过工具putty连接服务器,用批处理启动jboss后,如何使得关闭窗口而服务不停?
  • 请大家帮忙提供资料:如何将windows系统服务程序移植为linux系统服务?
  • 笔试和面试时回答不出具体服务的配置怎么办?有些Linux服务都是看书才会做的。
  • 我想在我的red hat linux开FTP服务器,有没有什么软件可以开FTP服务器的??
  • redhat linux9.0,打开“网络服务器”,报:无法找到主机“smb:///”……,请检查拼写及代理服务器设置正确性
  • 哪有红旗Linux数据库服务器3.0版下载?红旗的网站只有桌面版下载,没有服务器版下载
  • 红旗Linux浏览http://localhost为什么浏览不了了,说服务器关闭或没连接,怎么启动服务器呀??
  • linux下web服务器与数据库服务器的分离问题。
  • 请问Linux在服务器市场上取的的胜利是指什么,是指用JSP和PHP的WEB服务器吗?
  • 如何在每天某个固定时刻自动启动LINUX服务器。注意我说的是在关机状态下启动服务器。
  • 一般的tcpip实现都会提供ftp,telnet,daytime,以及time等基本服务,linux上提供13端口的daytime服务吗?
  • 急问!Windows服务器向Linux服务器发起TCP连接的次数受限问题
  • 我telnet到linux服务器上,现在想copy本机的备份文件到服务器的某个目录下,请问命令行如何键入?
  • 请问,哪里能找到免费的Linux服务器?我可以在它的服务器上使用它的公网IP的那种
  • 求教,图形化安装linux9后,并绑定ip为192.168.0.18,在服务配置启动httpd服务时报错。
  • 只知道远程服务器的ip,怎么区分远程服务器是windows还是linux系统?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3