gfx wrote:
這是從ether1-WAN進入路由器的任何封包都進行丟棄,當然dns會無法正常連接。
這不是無法找到dns,而是您自己將dns伺服器的回覆封包給丟棄的。
抱歉,沒有把 filter 的規則全列出來讓您誤會了。
0 ;;; DoS
chain=input action=add-src-to-address-list connection-limit=64,32 protocol=tcp address-list=blocked address-list-timeout=1d log=no log-prefix=""
1 chain=input action=tarpit connection-limit=3,32 protocol=tcp src-address-list=blocked log=no log-prefix=""
2 chain=SYN-Protect action=accept tcp-flags=syn connection-state=new protocol=tcp limit=400,5 log-prefix=""
3 chain=SYN-Protect action=drop tcp-flags=syn connection-state=new protocol=tcp in-interface=eth1-WAN log=no log-prefix=""
4 chain=forward action=jump jump-target=SYN-Protect tcp-flags=syn connection-state=new protocol=tcp log=no log-prefix=""
5 ;;; Drop ports' scanners
chain=input action=add-src-to-address-list protocol=tcp psd=21,3s,3,1 address-list=scanners address-list-timeout=1w log=no log-prefix=""
6 chain=input action=add-src-to-address-list tcp-flags=fin,!syn,!rst,!psh,!ack,!urg protocol=tcp address-list=scanners address-list-timeout=1w
log=no log-prefix=""
7 chain=input action=add-src-to-address-list tcp-flags=fin,syn protocol=tcp address-list=scanners address-list-timeout=1w log=no log-prefix=""
8 chain=input action=add-src-to-address-list tcp-flags=syn,rst protocol=tcp address-list=scanners address-list-timeout=1w log=no log-prefix=""
9 chain=input action=add-src-to-address-list tcp-flags=fin,psh,urg,!syn,!rst,!ack protocol=tcp address-list=scanners address-list-timeout=1w
log-prefix=""
10 chain=input action=add-src-to-address-list tcp-flags=fin,syn,rst,psh,ack,urg protocol=tcp address-list=scanners address-list-timeout=1w
log-prefix=""
11 chain=input action=add-src-to-address-list tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg protocol=tcp address-list=scanners address-list-timeout=1w
log-prefix=""
12 chain=input action=drop src-address-list=scanners in-interface=eth1-WAN log=no log-prefix=""
13 ;;; NTP
chain=input action=accept protocol=udp dst-port=123 log=no log-prefix=""
14 ;;; DNS
chain=input action=accept protocol=udp dst-port=53 log=no
15 ;;; DDNS
chain=input action=accept protocol=udp dst-port=15252 log=no log-prefix=""
16 X ;;; PPTP
chain=input action=accept protocol=tcp dst-port=1723 log=no log-prefix=""
17 X chain=input action=accept protocol=gre log=no log-prefix=""
18 ;;; L2TP
chain=input action=accept protocol=udp dst-port=1701 log=no log-prefix=""
19 chain=input action=accept protocol=udp dst-port=4500 log=no log-prefix=""
20 chain=input action=accept protocol=udp dst-port=500 log=no log-prefix=""
21 X ;;; IPsec
chain=input action=accept protocol=ipsec-esp log=no log-prefix=""
22 X chain=input action=accept protocol=ipsec-ah log=no log-prefix=""
23 X ;;; RouterOS WebFig
chain=input action=accept protocol=tcp src-port="" dst-port=9487 log=no
24 ;;; Allow validated
chain=input action=accept connection-state=established,related log=no log-prefix=""
25 ;;; Drop else
chain=input action=drop in-interface=eth1-WAN log=no log-prefix=""
・因為在 規則14 已經允許了 DNS 進來的封包了,所以一直覺得應該沒問題才對!
・本來覺得新加的 規則24 會不會放太寬,但是看過外國網友的說明後,覺得加上才是比較合乎使用的。
・另外禁用中的 規則16&17 打算刪了,今後應該不太可能會有用 PPTP 的可能性了。
・而禁用中的 規則21&22 也打算刪了,L2TP over IPSec 其實 IPSec 的封包已經被 L2TP 的 UDP 給包起來了。
・看樣子,路由器本身也沒有建 NTP, DNS, DDNS 的服務情況下, 規則13&14&15也可以砍了。
gfx wrote:
路由器的封包會分為兩個方向處理,
一個是經nat轉發至電腦周邊,另一個是路由器自己吃下。
而chain就是標示路徑控制的位置。
當chain=output,input時,即標示為路由器自身;
而chain=forward則是標示nat轉發的路徑。
所以chain=input時您只是丟棄往路由器封包,
但電腦裝置(chain=forward)則不在列當然不受任何影響。
謝謝您的 chain 的說明,讓我更清楚了觀念。
能偷懶請教一下,那 SYN-Protect 是指數據封包外的連線確認用的封包嗎?謝謝。