庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>FreeBSD>应用技术>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

FreeBSD NATD服务

 作者:本站收集   日期:2005-3-13
字号选择〖 〗/ 双击滚屏 单击停止   

◎敘述 natd簡單的來說就是進行位址轉換,也就是說通常是用在真實ip位址不夠用時. 所採取的替代方案. ◎環境概說 ___________________ | | _______________ | FreeBSD NATD |-( 對外介面 xl0 真實ip位址)---->| gateway | |___________________| | 163.19.203.252 | | -------|-------- | | |(對內介面 rl0 虛擬ip位址) | | internet | 網際網路 _ _ _ _ _|_ _ _ _ _ | | | 虛擬ip LAN | |_ _ _ _ _ _ _ _ _ _ | 依照上圖,FreeBSD伺服器有兩張網卡,(非必要,後面會補充說明) 一張(xl0)對外設定真實ip位址(163.19.203.129) 一張(rl0)對內設定虛擬ip位址(192.168.10.254) 由於FreeBSD已內建natd服務,所以只需要進行一些小設定, 讓 FreeBSD 知道兩個區域網路,並且把虛擬ip LAN 的封包轉換過後由真實ip介面轉送出去. 有幾個步驟是必須的 0.設定兩張網卡,是基本也是必須!! 第一張網卡可以透過安裝時設定.此時並順便注意第二張網卡的代號. 第二張用手動設定會比較簡單.修改/etc/rc.conf defaultrouter="163.19.203.252" ifconfig_xl0="inet 163.19.203.129 netmask 255.255.255.128" ifconfig_rl0="inet 192.168.10.254 netmask 255.255.255.0" 真實ip的那張網卡不用特別注意,設定正確可以連上網路即可. 我對內的網卡代號為rl0,且我需要把他設定為虛擬的ip位址. 為了方便,我設一整個虛擬的區段(192.168.10.0/24). ip依照習慣定義為192.168.10.254 比較需要注意的是defaultrouter="163.19.203.252" 要設定為真實ip位址的閘道器ip位址. 簡而言之,只有紅色部分是額外加上的. 若您只有一張網卡,又不想再買一張... ~"~ (舉例我只有一張xl) ifconfig_xl0_alias0="inet 192.168.10.254 netmask 255.255.255.0" 就可以把那一張卡額外再加上一個ip位址. 1.重新編譯 kernel , 並在kernel文字敘述檔,加上以下的參數: options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT 加上這些參數是要讓kernel加上防火牆的功能.(原因在步驟4說明) 參照本站 更新ports/升級系統 > kernel 更新 並請注意 現在版本的LINT敘述檔 必須透過 make LINT 產生. 參照本站 FreeBSD改版訊息 > 4.x to 5.x 2.開機時自動啟動 gateway 功能 (也就是轉送封包的功能) 在/etc/rc.conf檔案末端新增 gateway_enable="YES" # Set to YES if this host will be a gateway. 或是 直接採用命令列方式轉送封包 (不建議這樣做,太麻煩) sysctl net.inet.ip.forwarding=1 3.定義natd的對外介面卡. 在/etc/rc.conf檔案末端新增 natd_interface="xl0" # Public interface or IPaddress to use. 請注意 其中 xl0 是我對外的網卡,您可以透過 ifconfig -a 查看系統所抓取到的網卡代號. 4.把流量 導向到(divert)natd 服務. 必須透過防火牆把流量導過去,所以你必須完成步驟1的kernel編譯. 透過/etc/rc.firewall檔案設定防火牆達到這個目的. 不過若你對防火牆沒有太大的興趣. 直接在檔案*最末端*加上這幾行也可以. /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via xl0 /sbin/ipfw add pass all from any to any 說明: 第一行:清空防火牆規則. 第二行:把所有natd的流量透過 xl0 介面導出.請依照自己的實際狀況修改. 第三行:放行所有的封包. 只設定這三行,將會造成你的區域網路只要把電腦的gateway(閘道器)設到你這個ip位置 就可以把封包透過你這台機器轉送,所以..若有需要請把防火牆規則加上. 當你額外再設定相關防火牆規則時,請把第二行加在其他規則之前, 以確定natd可以接收到所有的封包. 且封包會在natd轉換後 重新進入防火牆規則進行過濾. 5.開機時自動啟動 防火牆 功能 在/etc/rc.conf檔案末端新增 firewall_enable="YES" # Set to YES to enable firewall functionality 若是手動執行 (sh /etc/rc.firewall)防火牆功能,請務必確認你的規則不會把你自己給過濾掉. 也就是說 可能的話在本機而非遠端執行此動作. 6.開機時自動啟動 nat 轉換功能 在/etc/rc.conf檔案末端新增 natd_enable="YES" # Enable natd (if firewall_enable == YES). 7.重新啟動伺服器,natd就完成設定了. Clinet端設定: IP位址 : 192.168.10.0~255 子網路遮罩: 255.255.255.0 閘道器 : 192.168.10.254 (指定 natd對內網卡ip位址 作為閘道器位址) 這樣就可以節省很多ip位址嚕. ◎總結: 上述步驟是為了要把natd的流程寫出來,若只是要快速的建立natd服務. 且配合日後可能的防火牆設定.總結如下: a.編譯完kernel b.修改檔案:(請依照您實際狀況修改)/etc/rc.conf最後端加上這些參數: defaultrouter="163.19.203.252" ifconfig_xl0="inet 163.19.203.129 netmask 255.255.255.128" ifconfig_rl0="inet 192.168.10.254 netmask 255.255.255.0" firewall_enable="YES" # Set to YES to enable firewall functionality firewall_type="OPEN" # Firewall type (see /etc/rc.firewall) natd_enable="YES" # Enable natd (if firewall_enable == YES). natd_interface="xl0" # Public interface or IPaddress to use. gateway_enable="YES" # Set to YES if this host will be a gateway. c.並且在 /etc/firewall 找到下方設定,新增紅色部分 case ${firewall_type} in [Oo][Pp][Ee][Nn]) setup_loopback ${fwcmd} -f flush ${fwcmd} add 10000 divert natd all from any to any via xl0 # 可能擴充的防火牆規則放在這 ${fwcmd} add 65000 pass all from any to any ;; 說明:由於先前firewall_type設定為OPEN所以我在OPEN這個地方加上設定. d.重新啟動伺服器,設定clinet端,就完成了. ◎補充:上述/etc/rc.conf中新增的參數設定 /etc/defaults/rc.conf 中都有 養成好習慣用複製的,不要直接修改 /etc/defaults/rc.conf 檔案 ◎作者: Archie Cobbs <archie@FreeBSD.org> (divert sockets) Charles Mott <cm@linktel.net> (packet aliasing) Eivind Eklund <perhaps@yes.no> (IRC support & misc additions) Ari Suutari <suutari@iki.fi> (natd) Dru Nelson <dnelson@redwoodsoft.com> (early PPTP support) Brian Somers <brian@awfulhak.org> (glue) Ruslan Ermilov <ru@FreeBSD.org> (natd, packet aliasing, glue) ◎資料來源: NATD(8)
上一篇:FreeBSD Network File System (NFS)系统    下一篇:MailScanner + ClamAV + Spamassassin  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-13
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿