Re: [問題] ipfw防火牆設定的問題
※ 引述《pondaniel.bbs@ptt.cc (NICE~~彭彭!!)》之銘言:
> 已爬文~~但還是沒辦法解決~~所以PO文請教前輩~
> 就算我讓全部通行,可是防火牆還是會把全部擋下來
> 但由內部往外連卻OK
> 我在核心設定檔加入以下內容,為了要有ipfw和NAT
> =========================
> options IPFIREWALL
> options IPDIVERT
> options IPFIREWALL_DEFAULT_TO_ACCEPT
> options IPFIREWALL_VERBOSE
> options IPFIREWALL_VERBOSE_LIMIT=10
> options IPFIREWALL_FORWARD
> options DUMMYNET
> 編譯完核心並沒有出現錯誤~~
^^^^^^^^^^^^^^^^^^^^^^^^
編完之後有重開機嗎?
> ==========================
> /etc/rc.conf的設定檔內容如下
> #===對外網卡===
> ifconfig_rl0="inet aa.bb.cc.dd netmask 255.255.255.0"
> #===對內網卡===
> ifconfig_rl1="inet 192.168.1.254 netmask 255.255.255.0"
> # 宣告本主機可做為gateway
> gateway_enable="YES"
> # 設定 NAT 所使用的對外網路卡
> natd_enable="YES"
> natd_interface="rl0"
> natd_flags="-config /etc/natd.conf"
那 /etc/natd.conf 內容是? 妳沒貼。
通常設定 natd 規則有兩種作法,
簡單的一行就直接在 /etc/rc.conf 加上類似下面這樣
natd_flags="redirect_port tcp 192.168.0.2:6667 6667"
複雜點就寫 natd_flags="-f /etc/natd.conf"
然後在 /etc/natd.conf 寫類似下面這樣
redirect_port tcp 192.168.0.1:22 22
redirect_port tcp 192.168.0.1:23 23
redirect_port tcp 192.168.0.1:24 24
> ============================
> /etc/rc.firewall的設定檔如下
> #!/bin/sh
> #delete all rule
> /sbin/ipfw -f flush
> #設定server本機可以跟server本機通訊
> /sbin/ipfw add pass all from 127.0.0.1 to 127.0.0.1
> #設定nat可以任何通行
> /sbin/ipfw add divert natd all from any to any via rl0
> #讓本機可以通行到任何地方
> /sbin/ipfw add pass all from 127.0.0.1 to any
> #如果有設dhcp一定要設這行
> /sbin/ipfw add pass all from 192.168.1.255 to any
> #讓內部ip全部可以連上本機
> /sbin/ipfw add pass all from 192.168.1.1/24 to 192.168.1.254
> #開放 dns給使用者
> /sbin/ipfw add pass all from 192.168.1.1/24 to 140.115.1.31
> /sbin/ipfw add pass tcp from any to me 22
> /sbin/ipfw add allow tcp from any to me 23
> #開放所有通行給該ip
> /sbin/ipfw add pass all from 192.168.1.1 to any
> #剩下的通通放行
> /sbin/ipfw add pass all from any to any
> ==================================
妳可以打 ipfw list 看一下現在跑的 ipfw 規則是甚麼
然後在預設的 /etc/rc.firewall 原始檔(/usr/share/examples/etc/rc.firewall)
可以看到儘量是用 ${fwcmd} 變數來代,這樣會比較有彈性,
不然妳在 /etc/rc.conf 設的 firewall_quiet="YES" 等於白設
另外 ipfw 規則使用上,習慣是會加上第幾條規則,以便辨別跟日後維護。
看完這篇感覺你那些設定檔應該是從別人那邊抄來的,
只是來源不明(妳沒說),寫法也有漏
最好附上妳參考來源,比較好讓別人判別你是哪邊有所出入,
或者根本對方那邊就『科學』以訛傳訛了。
> 如果改完/etc/rc.conf,不想重開機來更新
> 是不是下指令/etc/netstart就好了??
> 可是我試了好像沒用??
若只是改完 /etc/rc.firewall 規則後要重啟才會生效,就打 sh /etc/rc.firewall
或者要在 console 手動一行一行指令改也可以
若要重啟 natd(8) 則 /etc/rc.d/natd restart
以妳這情況若改完之後,應該是下 /etc/netstart 再 /etc/rc.d/ipfw restart 即可
--
靜中見真境,淡中識本然
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 118-166-51-73.dynamic.hinet.net
討論串 (同標題文章)
FreeBSD 近期熱門文章
PTT數位生活區 即時熱門文章