• 860

[研究所] MikroTik RouterOS 學習 (持續更新)

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 是指數據封包外的連線確認用的封包嗎?謝謝。
lenbo wrote:
・因為在 規則14 已經允許了 DNS 進來的封包了,所以一直覺得應該沒問題才對!
14用途是開放本地dns-server給外人連接;不是dns-client連接遠端伺服器。
也就是說...這是開後門,非常的糟糕。

所以怎麼做比較好?只要加個本地才能連接的限制即可。
在14的src-address補上192.168.x.0/24 ,或是in-interface=Lan,
就能排除本地外的dns連線請求了。
・本來覺得新加的 規則24 會不會放太寬,但是看過外國網友的說明後,覺得加上才是比較合乎使用的。
如果不想要24,在25加上connection-state=invalid,new即可。
・另外禁用中的 規則16&17 打算刪了,今後應該不太可能會有用 PPTP 的可能性了。
手機用不到,但桌機要連線時pptp還是很可靠的。
・而禁用中的 規則21&22 也打算刪了,L2TP over IPSec 其實 IPSec 的封包已經被 L2TP 的 UDP 給包起來了。
我是把25拆成tcp與udp分開封鎖,這樣就不會去理會ipsec-esp | ipsec-ah | icmp | gre這些協定。
・看樣子,路由器本身也沒有建 NTP, DNS, DDNS 的服務情況下, 規則13&14&15也可以砍了。
13是開放本地ntp-server,問題和14(dns) 一樣,你挖了坑讓外人有機會鑽。
雖然15(ddns)對您說沒用,但其實設置也是錯的,要改成src-port=15252才正確。

router當client(客戶端),當chain=input時,意指路由器是目的(dst接受端)
自然遠端的伺服器,是來源(src發授端)
所以是要同意src-port=123,53,15252進入才正確。
(不判斷封包是否回應,單從port的面向是這樣設置的)
SYN-Protect 是指數據封包外的連線確認用的封包嗎?
action=jump的作用是說,
當滿足條件後,將目前吻合的連線存在記憶體內,但暫時不動作。
而SYN-Protect則是他取的代號名稱,如此而已。

而接下來的項目中,您會發現chain除input | output | forward外還有SYN-Protect,
這代表 當chin=SYN-Protect時,記憶體內的連線除先前的條件外,
還要滿足現在的條件,接來action的動作才會觸發!

當然若要再更嚴格,滿足2個規則還不夠,還需第3個要求...那再跳下個jump也可以。

若jump要從記憶體剃除某些條件可以嗎?可以用action=return操作。
使用return後,這些指定的會回到上個jump前,但不會猛跳回最上層的jump標記。

範例:

19&20:將來自台灣的vpn連線請求抓到記憶體(取名point)
21:移除記憶體內有登記在朋友名單的
22:排除記憶體內已登記在臨時清單的ip,將滿足條件的ip正式登記到臨時清單去
gfx wrote:
14用途是開放本地dns...(恕刪)


謝謝您的指導和說明,
因為決定保留 規則24 的關係,
我已把 NTP, DNS, DDNS 的規則都刪了。

最近發現log中常常會有

這種來try vpn密碼的,反查了一下ip都被報為黑戶了說。
只好直接建了 address list 216.218.206.0/24 blocked掉了
humdrum10 wrote:
我有用另一台ros((恕刪)
真要阻礙某網暫不能連接的原因很多...
如果您不能歸類出可能原因,建議您reset重置,再重啟網路。觀察問題看能否順利排除。
推廣一下
台灣ROUTEROS FB社團創的TG聊天頻道
https://t.me/mikrotiktaiwan
有興趣的可以一起加入研究
求教學
有關 802.3ad 相關設定,試了許久都無法連絡成功請求高手指導,謝謝
單車全記錄................................... http://blog.xuite.net/chemyuan/bike
借版請教笨問題

我的機器是RB962,目前都是運作正常,但是有個問題因影響不大我一直忽略,現在有需要來解決這問題

1.我的區網互聯互通用區網的網段是沒問題的,外面進來裡面出去也是沒問題,問題是在區網用DNS不能連區網(EX: 區網192.168.88.10連192.168.88.20(假設XXX.XXX)是可以的,但是改成192.168.88.10連XXX.XXX是不可以的,但是如果從外網連XXX.XXX是可以的),這歌問題應該是出在哪邊呢?

2.以前有看過可以BAN掉想要暴力連入的IP但是現在找不到文章位置了,還請賜教
不好意思問個基本但都搞不好的問題

我自己有測試架個網站,用PPPOE 撥接固I 來使用

但後來要測試另一個網站,就又建一個 PPPOE2 (沒固定IP)來測試使用

因為都是 80 PORT 所以之前都沒指定 In Interface 是由哪個 pppoe

不過因為要測2個80 PORT
所以就有指定 pppoe1 跑 固定IP
第二個 80 PORT 的 pppoe2 跑 浮動 ip

這樣測試外網確實都能連進來2個不同IP 的網頁

但變成內網反而連這個實體 IP 時卻連不到

如果我把指定 In Interface 拿掉指定的話,就可以內網連的到

但這樣就只能一組外網IP才能連到,另一組就要改 port 才可以

不知道要怎麼修改才能讓內外網都能正常連到這2個IP網頁呢?



top100011 wrote:
不好意思問個基本但都(恕刪)
這完全是映射手法的問題,換個方式即可。
把in-interface拿掉,然後在dst-address設定pppoe-ip 。

您使用in-interface=pppoe-out1,這代表對從pppoe-out1進入外部連線做映射。
但內網的interface不是pppoe-out1,是bridge1。所以上述映射對內網電腦完全不起作用。

所以內網要使用in-interface做映射接口,需設in-interface=bridge1才行。

所以要內外都可以做映射,您需補齊倆映射,
in-interface分別要補完pppoe-out1與bridge1才能達到您外與內映射要求。

若不使用in-interface,那我們就改用ip來當條件。
只要是連到pppoe-out1或pppoe-out2的ip 就映射到指定的伺服器,不分外與內。
而這個方式就是最前所述的,不指定in-interface,但要在目地端(dst-address)宣告ip。
gfx wrote:
所以內網要使用in-interface做映射接口,需設in-interface=bridge1才行


謝謝GFX大回覆,很有幫助
但....真糟糕,難道不是從這設嗎><,沒看到 pppoe



gfx wrote:
不指定in-interface,但要在目地端(dst-address)宣告ip


這個要對外IP固定才可以設對嗎?
不然浮動IP跑掉也不行用

剛剛有試下這方式是可以的
但可以的話還是用喬接的方式會比較好
  • 860
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 860)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?