封包轉換+防火牆+頻寬管理 Natd+Ipfw+Bandwidth

2009-05-13 12:38:28来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Description :
前些日子和一位朋友討論到, 如何在FreeBSD上做到頻寬控制呢 ? 於是自己就開始從網路上找尋相關的資料,果然 FreeBSD 不失我所望,可滿足我們的需求,在商業版本上應用的
[url=javascript:;]Bandwidth[/url]
控制,有 ET外星人的公司 Emergiing Technologies 這家公司,所開發出來的 software 和 hardware 看來都還蠻不錯用的,而且效能不錯,並且提供了相當多的 solutions,但是就是要花錢,所以我就在想?在不花錢的前題下,如何達能達到頻寬控制呢 ? 於是!我決定自己研究 FreeBSD 上的免錢頻寬控制方式,以下就是我的學習過程和經驗,拿出來和大家分享及切磋,希望透過這樣的學習過程都能讓大家都受益。
Environment :
硬體: i386 PC Intel Celeron 300
記憶體網卡: 64M RAM + 三片 DLink-220 網卡
作業系統: FreeBSD 4.5 Release
Setp 1.
先將 FreeBSD 灌好,有點在說廢話!我用網路安裝,兩片 Floppy 搞定。編譯 Kernel,原本 default 是 GENERIC 我更改為 NEWNAT,加入下面三行設定存檔後跳出 Vi ,別忘記 ident  NEWNAT 也要改跟著改才可編譯 Kernel。
#cp /usr/src/sys/i386/conf/GENERIC/etc/NEWNAT
#cd /usr/src/sys/i386/conf/
#ln -s /etc/NEWNAT
#vi /usr/src/sys/i386/conf/NEWNAT
options IPDIVERT
options IPFIREWALL
options DUMMYNET
#config NEWNAT  # config 完成後系統會提醒你記得更換路徑去make
#cd ../../compile/NEWNAT
#make depend all install
#make clean    # 清除make後所建的檔案
Setp 2.
設定 rc.conf  #vi /etc/rc.conf  
defaultrouter="203.107.34.30"
hostname="nat.ntut.idv.tw"
ifconfig_ed1="inet 203.107.34.3 netmask 255.255.255.224"
ifconfig_ed1_alias0="inet 203.107.34.4 netmask 255.255.255.255"
ifconfig_ed1_alias1="inet 203.107.34.5 netmask 255.255.255.255"
ifconfig_ed1_alias2="inet 203.107.34.6 netmask 255.255.255.255"
ifconfig_ed2="inet 10.254.10.254 netmask 255.255.255.0"
ifconfig_ed3="inet 192.168.10.254 netmask 255.255.255.0"
firewall_enable="YES"
firewall_type="OPEN"
gateway_enable="YES"
sendmail_enable="NONE"
natd_enable="YES"
natd_interface="ed1"
natd_flags="-f /etc/natd.conf"
ed1 為對外的網卡為《 真實 IP 》ed2 和 ed3 是對內的網卡為《 虛擬 IP 》,其實對內一片網卡就夠用了,可是後來考慮到 security 的問題,所以將內網切開為兩段,ed2 的 10.254.10.0/24 這段IP ,是給內部員工使用,也就是我們要做頻寬限制的這一段IP,ed3 的192.168.10.0/24 這段IP,則是給我的所有 Server Group 使用的 IP,加入以上設定後可用 #/etc/netstart 讓 rc.conf 的設定檔重新 run 一次,新加入的設定值就會寫進去系統了。
Setp 3.
設定
[url=javascript:;]natd[/url]
.conf
#vi /etc/natd.conf  加入設定範例如下 (可將你內部的 Private IP 對應到 Real IP)
redirect_port tcp 192.168.10.1:21:80 203.107.34.4:21:80
redirect_address 192.168.10.2 203.107.34.5 -interface ed1
以上的設定檔可以 #man natd 參考如何設定

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:解决无法通过/tmp/mysql.sock 连接数据库

下一篇:NAT解决内网无法访问外网映射的问题