选择显示字体大小

局域网通过linux主机上网手记

前两天接到一项任务,要把一个局域网的机器通过一台机器上inte.net,这样的事情做过不少,无非是选一台好点的机器装上sygate什么的就行了,但是这次不同,人家非要求用linux,说什么稳定。——本人对此并无异议,只好放弃最熟悉的win,开始试这把牛刀,linux其实很早就玩过,不过只是玩玩而已。
***
首先配置网络,把局域网的机器全部使用私有ip(192.168.0.*,其中dns和代理用44,别人不愿意用这个嘛),如果大家有兴趣还可以试试dhcp,反正我是干完就好也无所谓了,这里不说。
操作系统这次选择的是turbolinux,这版本自己带了不少东西,不管那么多,反正有squid可以做代理应该就可以拉,安装过程还算顺利(就算有麻烦也不会在这里说)。
***
设置域名服务dns,其实简单的设个缓存能够找到你的isp就可以(当然你要架站另当别论,不过只能指向真实ip,如果你有足够多的ip,速度够快还可以搞托管赚钱)
设置dns要修改这些文件:
/etc/host.conf
/etc/resolv.conf
/etc/named.boot # bind4
/etc/named.conf # bind8
# 以下路径以及文件名在named.boot和named.conf中设定
具体的设置请大家翻书吧,最经典的是《dns 与 bind》o'reilly的
/var/named/named.cache # 寻找根dns
/var/named/named.local # 设置本地主机
/var/named/named.host # 设置域名——》ip解析
/var/named/named.rev # 设置ip——》域名解析
以上的还可以用turbolinux的 turb.netcfg来设置。完成后记得把named进程重启动一把:
/etc/rc.d/init.d/named restart(可以用的参数startstopstart)
然后用nslookup测试,看能不能解析成功,还可以用 any、ns 等参数
***
然后开始设置squid。
turbolinux所带的squid配置文件在/etc/squid/squid.conf(别的系统我可不敢说)
改如下的几行够用就行:
http_port 3128
# 默认代理服务器的端口
cache_mem 24 mb
# 在内存中开辟出缓冲区
cache_dir /var/spool/squid 2048 16 256
# 开辟硬盘缓冲区
# 各种log文件(可以只要access.log)
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid # 也可以不要这个进程文件
#自己的dns服务器
dns_nameservers 192.168.0.44
# 这些都是系统缺省的,核对就行了。如果要设置其他可以看注释,很简单的
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl allowed_hosts src 192.168.0.0/255.255.255.0
acl ssl_ports port 443 563
acl safe_ports port 80 21 443 563 70 210 1025-65535
acl connect method connect
http_access allow manager localhost
http_access deny manager
http_access deny !safe_ports
http_access deny connect !ssl_ports
http_access allow localhost
http_access deny all # 改为 http_access allow all 允许所有机器存取
icp_access allow all
miss_access allow all
设置好以后记得启动squid让设置生效
/etc/rc.d/init.d/squid start # 可以用的参数 startstoprestart
这时候去局域网的win98上设置dns、网关,在ie里设置代理服务器的ip和端口号
我用的是192.168.0.44:3128,你需要reboot你的win98,然后试试看,应该可以访问web了。
成功了吗?如果你只要访问网页这就可以,不过如果你想用oicq和outlook还得望下看。
****
最后该设置ipchains:(一定要内核支持ip转发才好,不然还得重连内核)
turbilinux的配置在这里/usr/src/linux/configs/kernel-2.2.13-i686.config
如果不是这套系统可不一定在哦。或许会在/usr/src/linux/.config 自己找吧
该文件中如果有这些就不必重连内核了否则自己想办法
config_ip_firewall=y
config_ip_masquerade=y
config_ip_masquerade_icmp=y
config_ip_masquerade_mod=y
config_ip_masquerade_ipautofw=m
config_ip_masquerade_ipportfw=m
config_ip_masquerade_mfw=m
否则要连内核或者换一套linux(最简单)
如果不是y是m,表示是模块支持,得加模块
启动ip转发功能:
原先什么也没有长度是0,重起机后也是0
echo 1 > /proc/sys.net/ipv4/ip_forward
相应的模块在/lib/modules/2.2.13/ipv4目录中,装入它们:
depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_vdolive
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_mfw
/sbin/modprobe ip_masq_raudio
以上的可要手工输入的最好制作一个脚本:ipchains.start
不然每次手工敲还不累死你
现在测试一下ipchains:
# ipchains -l
chain input (policy accept):
chain forward (policy accept):
chain output (policy accept):
好了,我们运行:
# ipchains -p forward deny
然后看 ipchains -l,变成了
chain input (policy accept):
chain forward (policy deny):
chain output (policy accept):
继续下去:
# ipchains -a forward -s 192.168.0.0/255.255.255.0 -j masq
再看 ipchains -l:
chain input (policy accept):
chain forward (policy deny):
target prot opt source destination ports
masq all ------ 192.168.0.0/24 anywhere n/a
chain output (policy accept):
这样就好了。测试吧。记得把最后的两行也加入脚本ipchains.start
# ip masq
echo 1 > /proc/sys.net/ipv4/ip_forward
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_portfw
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_autofw
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_ vdolive
/sbin/modprobe ip_masq_cuseeme
/sbin/modprobe ip_masq_mfw
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -p forward deny
/sbin/ipchains -a forward -s 192.168.0.0/255.255.255.0 -j masq
chmod 777 ipchains.start
以后每次reboot后要这样启动squid和ipchains
/etc/rc.d/init.d/squid start
/etc/ipchains.start # 看你把这个脚本放哪里了
当然,如果要省事,最好把这两行放进系统初始化的文件里,让每次reboot的时候能够自动调用。
我的初始化文件在/etc/rc.d/rc.sysinit(你的是不是我就不管了)在该文件的最后加入如下:
/etc/rc.d/init.d/squid start
/etc/ipchains.start
好了,这样你局域网里的机器就不仅可以上网浏览,还可以用oicq和outlook等软件了。如果有问题,可以发mail和我交流 sandj@china.com   


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons