QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1566|回复: 3

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

[复制链接]
发表于 2005-3-26 01:15:26 | 显示全部楼层 |阅读模式
作者: 不详    文档类型: 转载 来源:非常linux
时间: 2005-01-04 13:42:26

      前两天接到一项任务,要把一个局域网的机器通过一台机器上INTERNET,这样的事情做过不少,无非是选一台好点的机器装上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的 TURBONETCFG来设置。完成后记得把NAMED进程重启动一把:
/etc/rc.d/init.d/named restart(可以用的参数start|stop|start)
然后用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 # 可以用的参数 start|stop|restart
这时候去局域网的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和我交流 [email protected]
 楼主| 发表于 2005-3-26 01:18:37 | 显示全部楼层
Samba的三种典型配置  

作者: 痛扁    文档类型: 转载 来源:中国智慧在线
时间: 2005-01-04 13:06:33 浏览: 8 次

减小字体 增大字体(双击滚屏)



pub - 不需要密码,且可读写及删除文件。  
read-only - 不需要密码,但只可以读取文件。  
user1 - 需要密码,可读写及删除文件。

步骤如下:

一、首先以root身分登录进入系统。

二、编辑/etc/smb.conf文件,将"unix password sync = no"这个一句改为 "unix password sync = yes"。这样子的话,以后系统增加使用
者时,会自动将该使用者的密码也更新到/etc/smbpasswd内 (Samba的帐号密码文件)。

三、到/home目录下增加下列目录,并指定这些目录的权限: 

/home/pub nobody:nobody 777   
/home/read-only root:root 755   
/home/user1 user1:user1 700

四、编辑/etc/smb.conf这个文件,修改:

  security = share

五、编辑/etc/smb.conf这个文件,到文件最后面增加下面几句:

  [public]
  comment = Public Areas
  path = /home/pub
  browseable = yes
  guest ok = yes
  writable =yes

  [read-only]
  comment = Read-Only Areas
  path = /home/read-only
  browseable = yes
  guest ok = yes

  [user1]
  comment = Password Required
  path = /home/user1
  browseable = yes
  writable = yes

 完成后存盘离开。

六、重行运行Samba:

  /etc/rc.d/init.do/smb restart

就可以在其它的电脑上共享到这些目录了。

中国智慧在线文章教程(http://art.21e.cn)
回复

使用道具 举报

 楼主| 发表于 2005-3-26 01:19:16 | 显示全部楼层
Linux下的网络邻居  

作者: 不详    文档类型: 转载 来源:大众网络报
时间: 2005-01-04 13:07:11

 编者按:使用Linux操作系统的时候,查找局域网中其他资源是一件挺麻烦的事情。不过这里介绍的四款非常方便、易用的小软件,会让你查找“网络邻居”马上变得简单无比。

gnomba

  这个图形工具允许你扫描不同区域子网内基于SMB协议的电脑,速度要快过Windows 9X在打开“网络邻居”时所做的扫描。

  在网站http://gnomba.darkcorner.net/可以下载到最新的程序版本“gnomba-0.6.2.tar.gz”压缩包或者是RPM文件“gnomba-0.6.2-1.i386.rpm”。RPM文件只需要在X-Window的文档管理器中右击鼠标,选择“Install”就可以正常安装了。RPM文件的大小是166KB,压缩包则需要先行解包才可以安装,在“Terminal”视窗中我们可以这样做:

tar -zxf gnomba-0.6.2.tar.gz
cd gnomba-0.6.2
./configure
make
make install

  成功安装后,在/usr/bin目录中会生成一个可执行文档gnomba,在文档管理器中双击它或者是在“Terminal”中直接键入“gnomba”指令就可以启动软件。

  想要看到局域网上的其它电脑,你必需指定一个IP地址范围让gnomba扫描,点选“Options”功能表中的“Preferences”项,在“Configuration”这一帧的右边输入要扫描的IP地址范围,点按“Add”加入。“Options”这一帧可以对程序作一些初始设置,比如可以设置在启动程序时就对指定IP地址范围进行扫描。其他的一些设置包括字体以及初始的装载目录的选择等。按“OK”退出设定。

  选定好一组IP地址范围之后,点选“File”功能表中的“(re)Scan”项,一会儿就可以看到这组IP地址所包含的电脑了,能够以工作组或者是主机名称等多种方式进行显示。

  用鼠标点击其上的主机名称,软件就会对该主机的共享目录进行检索,点击共享目录之后,程序就会将之装载到预设的目录上。

  尽管该软件仍存在一些问题(装载及卸载目录时),但是它方便的IP地址扫描功能还是很值得用户一试的。


LinNeighborhood

  这个软件正如它的名字所显示的那样,是一个应用于Linux操作系统中的“网络邻居”图形工具。程序的最新版本可以在网站http://www.bnro.de/~schmidjo/找到,大小为129KB。软件不需要安装,解包之后就可以直接执行:

tar -zxf LinNeighborhood-0.6.1.glibc-i386.tar.gz
cd LinNeighborhood-0.6.1.glibc-i386
./LinNeighborhood

  当用户第一次运行它的时候,可以点选“Options”功能表中的“Preferences”项进行初始设置,在“Scan”标签页中需要输入工作组的名称以及检视模式等;在“Programs”标签页中正确选择软件的版本号,因为不同版本的装载命令参数有所不同,没有正确选择版本号可能会导致装载出错;在“Miscellaneous”标签页还可以更改默认的装载目录,退出以前不要忘了按“Save”以储存你的设置。

  接下来就可以将工作组中的主机一一加入到软件中来,点击工具栏中的第五个图标,在弹出的“Add Machine”视窗中输入主机名称、工作组以及IP地址,点选“OK”之后,该主机名称就会被加入到程序的主视窗中。更为简单的方法是,双击主视窗中的小企鹅,经过一段时间的扫描之后,局域网中所有可用的资源都会出现在主视窗中。

  在主视窗中双击相应主机,就可以见到该主机共享出来的资源,在目录中右击鼠标,选择“Mount”就会弹出“Mount Dialog”,在这里用户还可以对“Mount”操作进行一些修改,像装载点、目录权限等,如果对方的共享资源需要密码,还要输入相应密码。你也能够将一个共享资源mount到不同的装载点上,对于在一台电脑上有几个用户,而他们又想将之mount到各自的“home”目录时,这一功能便十分有用了。点击“Mount”之后可以在下面的“Resource”视窗中看到已装载的目录,要卸载的话只要在上面右击鼠标选“Umount”就可以了,不过用来装载的目录就不会自动删除。这里要注意的是该应用程序不支持打印机。

Tk Samba

  这个程序让用户可以以图形界面方便地浏览到MicroSoft Net。你可以利用该程序轻易地访问到不同的工作组、主机及其共享出来的资源。

  在http://www.rt.mipt.ru/frtk/ivan/TkSmb/download.html可以找到最新的版本,笔者测试的版本是“TkSmb-0.9.0.tar.gz”,仅有25KB大小。将其解包后在“Terminal”中用“./Install”指令启动安装程序: 在弹出的视窗中,显示了可执行文件、库文件、字体等安装信息,你可以在相关栏内改变程序的默认值。点击“Install”开始安装。正确无误的话,将会显示“All OK”的成功信息。

  程序的可执行文件的默认安装目录是/usr/local/bin,不过让笔者觉得有趣的是,即使你不执行此前的安装步骤,而直接启动在解包后的目录TkSmb-0.9.0中的可执行文档“TkSmb”,也一样可以启动。程序必须在“Terminal”中启动,不能直接在档案管理器中透过双击鼠标来打开。

cd /usr/local/bin
./TkSmb

  这时程序的工作视窗将会打开,而局域网内各个工作组及其中的电脑都将会一一呈现在用户的面前。

在“Groups”视窗中显示的是各个工作组的名字,点击不同的工作组就可以在左边的“Hosts in GROUP”中看到该工作组的所有电脑主机,用户可以点击不同的电脑主机及共享目录,以打开相应文件。共享目录中的文件显示在“Remote”视窗中,单击其上的文件就可以将它下载到本地主机中,下载的目录可以在视窗上方的“Download to:”中作出改变。如果被访问的主机或者文件目录需要密码,可以在“User:”和“Password:”中输入相应的用户名和密码。

  如果你想将远端的目录装载在本地主机中,可以在相应共享目录中右击鼠标,选择“Mount”,就可以将之装载到下载目录中。但是程序没有提供卸载(umount)的办法,这时即使退出程序,仍然可以在本地主机中访问远端的文件。


xSMBrowser

  一个图形界面的程序,整合了相当多实用的小工具,使得Unix用户面对局域网时,相当得心应手。

  软件可以在笔者的主页http://www.public.iastate.edu/~chadspen/中下载,现在的版本是2.4.0,作者提供有RPM及gz文件,大小都在40KB上下。

  安装过程很简单,这里不作详细介绍。安装完成后,直接在“Terminal”中键入“xsmbrowser”就可以启动程序。软件主视窗上面的工具列上有一排按钮,可以实现前进、后退、停止、刷新等网络浏览功能以及选择以“Workgroups”、“Networs”及“Favorites”模式检查网络内容(“Workgroups”模式要在网络被初始化以后才能被激活),其导航设计酷似Netscape Navigator。

  和前面介绍的LinNeighborhood类似,该软件也兼容Samba 2.06以下的所有版本,但在装载以前需要点按下面的工具列中的“Setup”按钮,选择“Mount Options”,然后点选系统使用的Smbmount版本号作为默认值。当在主视窗中进入到一台主机的共享目录中时,就可以点按最下面的“Mount”及“Unmount”按钮装载及卸载该目录项,此时也可以指定装载点及选择相应的Smbmount版本。点按Explore则会启动mc档案管理器检视相应目录。“Save”可以将选定的文件储存到本地磁碟中,而“Tar”按钮则能够将当前目录内的内容(包括子目录)打包,选择“Upload”则可以上传文件到远程主机上。


中国智慧在线文章教程(http://art.21e.cn)
回复

使用道具 举报

 楼主| 发表于 2005-3-26 01:22:32 | 显示全部楼层
如何共享两台LINUX系统的根目录?  


技巧问题 如何共享两台LINUX系统的根目录?
  我的网络里面有两台运行着LINUX的机器,我想让他们彼此之间可以通过mount方式访问双方的根目录。具体应该使用哪些命令和方式呢?

技巧主题 根目录-=>网络管理-=>网络设置

技巧作者 泛舟

--------------------------------------------------------------------------------

  你可以考虑使用SAMBA来实现此项功能。首先通过在/etc/samba/smb.conf中加入相关的配置信息来共享根目录,然后在每台LINUX系统里面执行:
mount -t smbfs //IP/sharename /path/to/mountpoint
  实现挂接。这样你就可以通过访问/path/to/mountpoint实现两台机器的相互访问了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 07:55 , Processed in 0.072739 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表