荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: zzt (破网,烂网), 信区: Linux
标 题: FreeBSD NAT mini-HOWTO中文版(转 calvin
发信站: BBS 荔园晨风站 (Thu Nov 12 22:33:48 1998), 站内信件 (WWW POST)
发信人: calvin (冷眼人生~我也洗手不干了), 信区: FreeBSD
标 题: [转载] FreeBSD NAT mini-HOWTO中文版(转寄)
发信站: 华南网木棉站 (Wed Jun 17 08:50:54 1998), 转信
【 以下文字转载自 calvin 的信箱 】
【 原文由 calvin.bbs@Leeward.lib.tsinghua.edu.cn 所发表 】
发信人: Numb (麻木), 信区: Linux
标 题: FreeBSD NAT mini-HOWTO中文版
发信站: BBS 水木调试站 (Sat May 30 21:16:13 1998)
1.前言
前两天实验室的Hub坏了,因为只有一根出去的线,所以
就在我的FreeBSD2.2.6机器上做了一个IP Masq,让大家
都能连上校园网.在做的过程中因为没有中文资料可以
参考,所以用了很长时间看文档,现在我将其过程简单写
在这里,希望对FreeBSD的用户有所帮助.
在本文中,我假定大家已经对Linux上的IP Masq技术有所
了解,而不准备尝试解释该技术本身的内容,这些内容大家
可以参考IP Masq的Linux中文HOWTO.
2.安装过程
FreeBSD上称IP Masq技术为NAT(Network Address Translation).
NAT从FreeBSD2.1.x版本开始支持.NAT的安装过程如下.
1).网卡设置
FreeBSD提供对许多中常见的以太网卡的支持.关于FreeBSD支持的
网卡类型,大家可以参考/usr/share/doc/handbook/handbook48.html
文件中的描述.在这里我假定大家使用的是ed0类型的网卡,它包括
Western Digital and SMC 80xx and 8216,Novell NE1000,NE2000
等类型的10M ISA网卡.我在这里使用两块NE2000网卡.它们的名称
分别为ed0和ed1,现在请记下两块卡的IRQ和I/O地址,一会儿我们要
用到.
2).编译FreeBSD的Kernel(核心)
现在我们需要对FreeBSD的核心重新编译以使系统提供对第二块网卡
和divert socket的支持.
以root的身份执行以下操作:
a.进入/sys/i386/conf目录,
b.执行cp ./GENERIC MYKERNEL生成新的Kernel配置文件
c.vi ./MYKERNEL开始重新配置.在MYKERNEL中加入以下两行:
device ed0 at isa? port 0x??? net irq ?? iomem 0xd8000 edintr
device ed1 at isa? port 0x??? net irq ?? iomem 0xd8000 edintr
提供两块网卡的支持.其中isa?一般可设置成isa0,port???和irq???是
网卡的IRQ号和I/O地址.
加入以下两行:
options IPFIREWALL
options IPDIVERT
d.保存并退出vi,执行以下命令重新编译核心
/usr/sbin/config MYKERNEL
cd ../../compile/MYKERNEL
make depend
make
make install
上面的工作完成后重新引导系统,注意启动过程,你的新Kernel应该能够
找到两块网卡.如果新Kernel无法启动,请参照FreeBSD handbook中的
TroubleShooting一节.
3).系统配置
a.编辑/etc/rc.conf文件,确保以下的内容加入该文件
network_interfaces="lo0 ed0 ed1"
ifconfig_ed0="inet 202.114.14.77 netmask 255.255.255.0"
ifconfig_ed1="inet 192.168.0.100 netmask 255.255.255.0"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="open"
b.编辑/etc/services文件,加入以下的一行
natd 6668/divert #Network Address Translation socket
c.编辑/etc/firewall文件,加入以下的一行
/sbin/ipfw add divert natd all from any to any via ed0
d.编辑/etc/rc.local文件,加入以下的内容
natd -interface ed0
以上工作完成后重新启动系统,工作就可以算是基本完成了,:)
FreeBSD这时候就可以完成防火墙的功能,连接内部网(192.168.0.*)
和Internet.如果需要更高级的应用,如对单个内部IP记流量,
限制出口地址等,请改写/etc/firewall的内容.这些可以参照
FreeBSD的手册完成.我在这里不一一具体介绍.
附注:
1.本HOWTO是以本人的实例写成的,实际上你的情况也许与我会有区别,
比如在只有一块网卡的情况下需要做IP alias的情况等等.所以请将
本文看作是一个大致思路而非精确的流程.如果当遇到问题时,请多参照
FreeBSD本身的handbook和FAQ,它们分别在:
/usr/share/doc/handbook
/usr/share/doc/FAQ
目录下.
2.本实例在FreeBSD2.2.6上完成.参考资料:
FreeBSD handbook
FreeBSD FAQ
man natd
man rc.conf
3.本文作者的email地址为miaobo@usa.net你可以将你的建议和问题
及时通知我.
--
※ 修改:·Numb 於 May 30 21:18:29 修改本文·[FROM: 202.114.14.77]
※ 来源:·BBS 水木调试站 Leeward.lib.tsinghua.edu.cn·[FROM: 202.114.14.77]
--
※ 转载:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.212.86]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: linux.szu.edu.cn]
--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.101]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店