FreeBSD內核級透明代理(IPFILTER)
發表于:2007-05-25來源:作者:點擊數:
標簽:
操作系統:FreeBSD4.7(帶源碼安裝) 兩塊網卡: 1:3COM 2:DLINK 安裝步驟: [code:1:23e4f4bda2] 一、編譯內核 cd/usr/src/sys/i386/conf cpGENERICproxy viproxy 將一下四行加入 optionsIPFILTER optionsIPFILTER_LOG optionsRANDOM_IP_ID optionsBRIDGE
操作系統:FreeBSD 4.7 (帶源碼安裝)
兩塊網卡:
1:3COM
2:DLINK
安裝步驟:
[code:1:23e4f4bda2]
一、編譯內核
cd /usr/src/sys/i386/conf
cp GENERIC proxy
vi proxy
將一下四行加入
options IPFILTER
options IPFILTER_LOG
options RANDOM_IP_ID
options BRIDGE
config proxy
cd ../../compile/proxy
make depend
make
make install
二、配置
vi /etc/rc.conf
內容如下:
gateway_enable="YES"
hostname="soocol.com" # 設為你的hostname
kern_securelevel_enable="NO"
nfs_reserved_port_only="NO"
sendmail_enable="NONE" # 用作nat/firewall, 不需要 sendmail
sshd_enable="YES" #
usbd_enable="NO"
cron_enable="NO"
 
.network_interfaces="rl0 rl1 lo0"
ifconfig_rl0="202.102.121.67 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_lo0="inet 127.0.0.1"
# 設置IPFILTER
ipfilter_enable="YES"
ipfilter_flags=""
ipmon_enable="YES"
ipmon_flags="-D
svn"
ipnat_enable="YES"
vi /etc/resolv.conf
內容為:
nameserver 211.167.97.67
nameserver 202.99.96.68
三、設置IPNAT
vi /usr/local/etc/rc.d/ipnat.sh
內容為:
#!/bin/sh
[ -x /sbin/ipnat ] && /sbin/ipnat -CF -f /etc/ipnat.rules && ipf=-y && echo -n 'ipnat'
vi /etc/ipnat.rules
內容為:
map rl0 192.168.0.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map rl0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 10000:60000
map rl0 192.168.0.0/24 -> 0.0.0.0/32
[/code:1:23e4f4bda2]
重新啟動系統后局域網中的其他機器將網關設為192.168.0.1就可以上網了
段譽 回復于:2003-07-11 09:18:26
|
這個是大家需要的一個精華。
BTW:startdd,如果有時間,你來做斑竹吧!
|
startdd 回復于:2003-07-11 11:59:11
|
我可以試一試!終歸為大家服務是好事!
|
段譽 回復于:2003-07-11 14:48:00
|
好啊,舉雙手、雙腳贊成。
我這就去推薦,希望我們的板子更加興旺。
|
清茶淡淡 回復于:2003-07-11 22:31:14
|
可以加入端口重定向配合squid嗎?
|
startdd 回復于:2003-07-11 23:19:45
|
map規則是用于轉換外出數據包的源地址,使得被轉換后的地址好象是從外部地址中發起的。而另一個規則rdr 用于轉換數據包中的目的地址,這樣就能使得一個數據包被轉發到某個特定計算機上進行處理,這可用于構建端口映射關系。
rdr rl0 212.102.245.60 port 80 -> 192.168.0.1 port 80
上面的規則將指定ipfilter在 rl0 網絡接口上將發送給212.102.245.60,端口為80的數據包,轉換為發送給內部地址192.168.0.1 。
rdr的另一個重要用途是可以用以構建透明的代理服務器,普通代理服務器都需要在客戶機上進行設置,如果不進行設置,客戶機將直接訪問Internet上的計算機而不通過代理服務器,然而防火墻可以將這些應用請求轉發給代理服務器,完成代理工作。此時對外界發送請求是在內部網絡接口rl0上發起的,因此也要在這里進行地址轉換,而使用0.0.0.0/0 代表對所有目的地址,并且是80端口的瀏覽請求都轉發到127.0.0.1上去,而127.0.0.1 必須運行代理服務器軟件(例如:squid),以提供代理服務。
rdr rl0 0 0.0.0.0/0 port 80 -> 127.0.0.1 port 80
|
startdd 回復于:2003-07-11 23:43:57
|
ipnat -C
ipnat -f /etc/ipnat.conf
ipnat -l
當前使用-C參數用于清除現有的轉換規則,-f用于從配置文件中讀取轉換規則。設置了轉換規則之后,就可以使用-l參數查看當前設置的轉換規則和已經激活的轉換關系。
|
段譽 回復于:2003-07-11 23:48:14
|
startdd,那個郵件系統是你做的??
ps:什么時候能夠來作斑竹??
|
startdd 回復于:2003-07-12 00:01:41
|
http://www.soocol.com
做了有一段時間了,現在有1萬多用戶了!
隨時可以!
|
段譽 回復于:2003-07-12 22:45:55
|
不錯的站點,:)
|
startdd 回復于:2003-07-13 00:20:55
|
謝謝“段玉”兄的好意,我看我還是不當這個版主吧!有人還因為我不公開 http://www.soocol.com 代碼的事情而耿耿于懷!沒有其他事的時候我會多發些技術帖子,使大家共同學習共同進步吧!
|
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|