之前幫 RouterOS 加上 IP分享器功能(NAT)這篇文章教大家怎麼把RouterOS當成Gateway
讓內部的IP可以透過RouterOS上網
那如果外部的電腦想連到內部電腦的服務(例如:Web、SSH、SQL Server…等)
這時候就需要轉Port的功能(Port Mapping)
實作的方式也很簡單,使用winbox的介面就可以達成了
首先開啟winbox後,IP -> Firewall -> NAT -> 加入一筆新的規則
接下來就看圖操作吧,要注意的是如果你是ADSL撥接上網的,In Interface請選該ADSL的介面
Action的部份則是選dst-nat,IP與Port則是依自已的需求填寫
最後記得把該新建立的規則拉到masquerade的上面
您好
目前使用RB450G
已照您的blog
加上負載平衡與DDNS功能
現在在PORT MAPPING 設定已依照你的方法設定
遇到設定問題 無法將PPPOE取得的外部IP 指到內部區網某台PC
因為架站需要 ,需要2個外部真實IP(PPPOE撥接),對應至內部2台WEB SERVER
或是你方便以遠端協助設定
雙線(同Gateway)或是單線多個IP(同Gateway)
實作起來就會複雜許多,不是幾個字可以講清楚的
過陣子我打算寫篇相關的教學放上來
如果你很急的話,我大略先講一下
雙線(同Gateway)或是單線多個IP(同Gateway)
因為是同1個Gateway,所以ROS不知道要走那一條出去
也有可能封包經由線路1進來後轉到Server1,但封包要出去時卻不知道要走那一條回去
解法就是於Mangle中設mark routing,並於routing table中指定相關的mark routing要走那一個IP出去
當然NAT裡面也是要進行Port Mapping的相關設定,有興趣的話先研究看看吧
我幫的上忙的話,歡迎隨時留言。要摧搞的話,也是歡迎的啦~~ ^_^
茶包你好~
想問一下,若說有在玩BT,我的BT軟体開的port是12345
那麼,外面的人要連到我這下載,我的 Dst. Port 和 To Port 都要設為 12345嗎?
玩P2P下載的話,RouterOS建議是開啟UPnP就可以了。
讓後面的P2P軟體自已決定要用什麼Port。
開啟UPnP的方式可參考官方的wiki。
http://wiki.mikrotik.com/wiki/Manual:IP/UPnP
你好
我有個問題請教 我的設備是是 R450G
我是用 2wan 8M/6M,1M/1M+1 Lan
都設好了 正常上網
只是我在做 nat dstnet 有些問題
例如我想在 兩個 固定IP 開個 port 80 指到內往的 web server 80
都只有 Wan1 可以用
兩個 net dstnet 設定如下
chain=dstnat in-interface=Wan-out1 protocol=tcp dst-port=80
action=dst-nat to-addresses=192.168.2.1 to-ports=80
chain=dstnat in-interface=Wan-out2 protocol=tcp dst-port=80
action=dst-nat to-addresses=192.168.2.1 to-ports=80
兩個ip GATEWAY 是不同的
請問還有哪裡需要設定…..
看看是不是IP -> Routes 的問題。
如果你是用PPPoE看看是否有勾到Add Default Route
用 2wan 8M/6M=>固16IP
1M/1M==>固16IP
Default Route 有加了 有 mark route
我的設定
/ip route print detail
0 A S dst-address=0.0.0.0/0 gateway=Wan2 gateway-status=Wan2 reachable
check-gateway=ping distance=1 scope=30 target-scope=10
routing-mark=toADSL-2
1 A S dst-address=0.0.0.0/0 gateway=Wan1 gateway-status=Wan1 reachable
check-gateway=ping distance=1 scope=30 target-scope=10
routing-mark=toADSL-1
2 A S dst-address=0.0.0.0/0 gateway=Wan1,Wan2
gateway-status=Wan1 reachable,Wan2 reachable check-gateway=ping
distance=10 scope=255 target-scope=10
3 ADC dst-address=59.125.48.240/28 pref-src=59.125.48.254 gateway=Wan2
gateway-status=Wan2 reachable distance=0 scope=10
4 ADC dst-address=192.168.2.0/24 pref-src=192.168.2.1 gateway=bridge
gateway-status=bridge reachable distance=0 scope=10
5 ADC dst-address=202.39.134.0/24 pref-src=202.39.134.30 gateway=Wan1
gateway-status=Wan1 reachable distance=0 scope=10
/ip firewall mangle
add action=change-mss chain=forward disabled=no new-mss=1440 protocol=tcp tcp-flags=syn
add action=mark-connection chain=prerouting disabled=yes dst-address-type=!local in-interface=bridge new-connection-mark=ADSL-2 passthrough=yes per-connection-classifier=src-address-and-port:2/1
add action=mark-routing chain=prerouting connection-mark=ADSL-2 disabled=yes in-interface=bridge new-routing-mark=toADSL-2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ADSL-1 disabled=yes in-interface=bridge new-routing-mark=toADSL-1 passthrough=yes
add action=mark-connection chain=input connection-state=new disabled=no in-interface=Wan1 new-connection-mark=ADSL-1 passthrough=yes
add action=mark-connection chain=input connection-state=new disabled=no in-interface=Wan2 new-connection-mark=ADSL-2 passthrough=yes
add action=mark-routing chain=output connection-mark=ADSL-2 disabled=no new-routing-mark=toADSL-2 passthrough=yes
add action=mark-routing chain=output connection-mark=ADSL-1 disabled=no new-routing-mark=toADSL-1 passthrough=yes
add action=mark-connection chain=prerouting comment=0/2 disabled=no dst-address-type=!local new-connection-mark=ADSL-1 passthrough=yes per-connection-classifier=both-addresses:2/0 src-address=192.168.2.0/24
add action=mark-connection chain=prerouting comment=1/2 disabled=no dst-address-type=!local new-connection-mark=ADSL-2 passthrough=yes per-connection-classifier=both-addresses:2/1 src-address=192.168.2.0/24
add action=mark-routing chain=prerouting comment=”pppoe-out1_conn ” connection-mark=ADSL-1 disabled=no new-routing-mark=toADSL-1 passthrough=yes src-address=192.168.2.0/24
add action=mark-routing chain=prerouting comment=”pppoe-out2_conn ” connection-mark=ADSL-2 disabled=no new-routing-mark=toADSL-2 passthrough=yes src-address=192.168.2.0/24
/ip firewall nat
add action=masquerade chain=srcnat comment=”\A6^\ACy” disabled=no out-interface=bridge src-address=192.168.2.0/24
add action=masquerade chain=srcnat disabled=no out-interface=Wan1 src-address=192.168.2.0/24
add action=masquerade chain=srcnat disabled=no out-interface=Wan2 src-address=192.168.2.0/24
add action=dst-nat chain=dstnat comment=PPPoE-1A disabled=no dst-address=202.39.134.30 dst-address-type=local dst-port=1233 in-interface=Wan1 protocol=tcp src-address-list=”” to-addresses=192.168.2.4 to-ports=1233
add action=dst-nat chain=dstnat comment=PPPoE-1A disabled=no dst-address=59.125.48.254 dst-address-type=local dst-port=1233 in-interface=Wan2 protocol=tcp to-addresses=192.168.2.4 to-ports=1233
add action=src-nat chain=srcnat comment=Lan_to_Wan1 disabled=no out-interface=Wan1 src-address=192.168.2.4 to-addresses=202.39.134.30
add action=src-nat chain=srcnat comment=Lan_to_Wan2 disabled=no out-interface=Wan2 src-address=192.168.2.10 to-addresses=59.125.48.254
剛剛試了一下,發現的確是有點問題
因為外面的網路透過ROS把封包送到內部的Server時是沒問題的
問題出在當封包要從Server回傳時,問題就來了
當Server封包丟到ROS,ROS沒辦法判斷這個封包原本是從那一條WAN過來的,所以封包也不知道該從何回去
這樣外面的網路就連不上了,如果固定走某1個外網IP出去,那另外1個外網IP就沒作用了
目前想到的解法是在Server上設2個IP,然後2外網各自對映Server上的1個IP。這樣就可以解決了
(外網1)123.123.123.111 對照到 192.168.1.10(Server1-IP1)
(外網2)123.123.123.222 對照到 192.168.1.11(Server1-IP2)
或是有人有更好的解決,歡迎提出來大家討論一下~~
我試過了 Server 設定 2 各IP 也沒法通 , 有時可以 那是假性的 RouteOs Reboot
舊又不可以了
找到完美的解法了,原來是我自已想複雜了
手邊也測試成功了,外部2個IP同時對映到內部1個IP
我整理一下,再把設定檔貼出來
Jason 你有 MSN 或 Skype 嗎 把帳號發給我 我們研究一下
msn的帳號我send到你的hotmail了。有空大家可以交流一下
下面先貼出設定檔,你可以測測看。我使用的RouterOS版本是5.2版的
192.168.55.200 -> 你內部Server的IP位置
/interface pppoe-client
add ac-name=”” add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=LAN max-mru=1480 max-mtu=1480 \
mrru=disabled name=ISP1 password=99999999 profile=default service-name=”” \
use-peer-dns=no user=99999999@hinet.net
add ac-name=”” add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=LAN max-mru=1480 max-mtu=1480 \
mrru=disabled name=ISP2 password=99999999 profile=default service-name=”” \
use-peer-dns=no user=99999999@hinet.net
/ip firewall mangle
add action=mark-connection chain=prerouting disabled=no in-interface=ISP1 \
new-connection-mark=ISP1_conn passthrough=yes
add action=mark-connection chain=prerouting disabled=no in-interface=ISP2 \
new-connection-mark=ISP2_conn passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ISP1_conn disabled=no \
in-interface=LAN new-routing-mark=to_ISP1 passthrough=yes src-address=\
192.168.55.200
add action=mark-routing chain=prerouting connection-mark=ISP2_conn disabled=no \
in-interface=LAN new-routing-mark=to_ISP2 passthrough=yes src-address=\
192.168.55.200
/ip firewall nat
add action=dst-nat chain=dstnat disabled=no dst-port=80 in-interface=ISP1 \
protocol=tcp to-addresses=192.168.55.200 to-ports=80
add action=dst-nat chain=dstnat disabled=no dst-port=80 in-interface=ISP2 \
protocol=tcp to-addresses=192.168.55.200 to-ports=80
add action=masquerade chain=srcnat disabled=no out-interface=ISP1
add action=masquerade chain=srcnat disabled=no out-interface=ISP2
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP2 routing-mark=\
to_ISP2 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 routing-mark=\
to_ISP1 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP2,ISP1 scope=30 \
target-scope=10
照您所設定的,我在In Interface上加了ADSL的介面,這樣就連不上了,另外問個問題,我這樣設NAT(FTP用),設完後我就連不上其他的FTP,我必須加上dst-address才不會有問題,可是我的實體IP是浮動的,有沒有解決方法。
:local NATinterface “HiNet”
:global NATipADSL1
:set NATipADSL1 [ /ip address get [/ip address find interface=$NATinterface ] address ]
:set NATipADSL1 [:pick $NATipADSL1 0 [:find $NATipADSL1 “/”]]
/ip firewall nat set 2 dst-address $NATipADSL1
我自己定的一條動態更新dst-address不過沒有成功,能不能幫我看一下哪有錯,謝謝
單一個ADSL帳號,照理說應該是不用設dst-address。
建議你把ROS的版本升到最新,然後設定重置,
這樣測起來會比較準。應該是不需要到寫script的地步。
如果你一次撥2個以上的ADSL上去,或是有多條ADSL,那此篇文章就不適用
我是單一個ADSL帳號,因為我設了NAT後,沒辦法連去其他的FTP,會被倒回自己架的FTP,設了dst-address後,其他的FTP就連得上了,我的版本是5.0得,剛剛莫名奇妙得又可以用了。
建議可以更新到5.2版
我怕更新後所有設定要重設,這很麻煩
請問,我這邊有Seednet+hinet線路各一,今天下午想來搞定2 Wan設定,結果還不要說PCC or NTH,光dual wan+port mappin就碰了一鼻子灰,我現在遇到的狀況是,port 1(seednet)+port 2(hinet),都是PPPOE,播出去沒問題,IP也正常取得了,但是備用線路(hinet)那邊,雖然抓到IP,其實外面也是ping不到的,所以怎麼mapping也都沒用,請問我可能遺漏了那邊的設定呢?
ip->routing與firewall->mangle
記得設定。
可以參考RouterOS 2 WAN Mapping to 1 LAN,多個WAN對映到單一內部Server
http://www.minitw.com/archives/735
請問router那邊要如何設定呢?DAC跟DAS的意思是?
茶包大你好:
你網站有Wen問過玩BT的問題,你有回答建議是開啟UPnP,參考官方的wiki。
http://wiki.mikrotik.com/wiki/Manual:IP/UPnP
小弟真的是外行英文也不行,有看也不知道如何設定,能請茶包大再來一篇UPnP設定教學,讓我看圖設定。還請茶包大能撥空教導一下。
沒問題,不過這陣子工作比較忙一點,比較沒時間上來寫文章跟回覆
等過陣子工作告一段落再上來blog還大家的債~~~
茶包大您好, 請問UPnP開啟後, 好像只有一瞬間能通!? P2P軟體有個TCP、UDP反連測試, 只有在一開始的瞬間可以, 但只要流量一進來之後(約在50 packets)就會出現該connection被reject的結果!? 請問RouterOS有這樣的防堵設定?
to xx:
設定時需注意設定值
external : 設在對外的interface上(WAN、ADSL PPPoE…等)
internal : 設在對內的interface上(LAN)
可以參考官方的wiki:
http://wiki.mikrotik.com/wiki/Manual:IP/UPnP
請問,如果我有一台電腦使用 PPPoE 的方式撥上 RB-450G ,取得一組 IP 之後,如何將外面的 80 port 對應到這一台電腦上的 80 port 呢?
ex: RB-450G LAN IP 192.168.88.1 外網IP:1.2.3.4
伺服器pppoe撥上450G時配給IP:172.16.0.2 閘道:172.16.0.1
也就是說當 http://1.2.3.4 時,可以開啟 172.16.0.2 的伺服器網頁畫面。
可以參考上面的第2張圖,把To Address改成172.16.0.2
試試看吧
謝謝,設定之後就可以了。
我是兩個浮動的ip 可以端口映射嗎??做好久都失敗
to 樂樂:
兩個浮動的ip 端口映射,可以參考:
http://www.minitw.com/archives/735/
茶包您好, 照您教學的Port Mapping設定, 外部IP可以連進內部IP架設的伺服器,
但是在該內部伺服器查詢連線狀態時(例如linux的netstat -ta),
遠端位置都變成RouterOS的位置, 等於無法得知外部是哪個IP連進來的.
有什麼地方可調整的嗎?
to 小青蛙:
這個問題很好,也很關鍵。
我之前在這邊有回答過同樣的問題,你可以參考參考
http://www.mobile01.com/topicdetail.php?f=110&t=2079471&m=s&s=10&b=0&r=2&p=1
解法:
/ip firewall nat
add action=masquerade chain=srcnat comment=”” disabled=no out-interface=!LAN
重點在於下面這行,注意有個驚嘆號
out-interface=!LAN
這樣子內部的Server就可以抓到正確的外部連線IP了
感謝! 您實在太厲害了.
茶包兄, 我又遇到問題了, 就如您所述, 加入 out-interface=!LAN 後的確可以使內部Server抓到外部的IP, 但是RouterOS卻失去了NAT lookback功能了 (設定方法如您在mobile01說的NAT lookback解法). 有兩全其美的方法能解決嗎?
不好意思, 我自己找到解法了, 多加下面那條, 並拉到原來那條上面就同時解決了NAT lookback問題及取得外部IP的問題.
/ip firewall nat
add chain=srcnat src-address=192.168.1.0/24 action=masquerade
你好,我碰到雙線 PORT MAPPING。簡單的方法是通過Route Table.但是這樣無法實現,哪個interface 進站,就從那個interface出戰.
我試過VPN的 雙線進站,只需要在Mangle intput & output 里面做mark就可以实现VPN的双线进站,哪里进哪里出.
但是PORT MAPPING的那裡進,哪裡出測試了好多遍還是沒有成功.
請教一下,需要在哪個位置做mark才可以
茶包兄你好,我想請問如果是 Open Port 的方式,該怎麼做呢?
也就是開啟一個區段的 tcp/udp port 給 dhcp 發放出去的某一台 PC 使用
例如 27300~27400 這段 port 要開啟給A這台 PC 使用(192.168.10.50)
這跟 Port Mapping/DMZ 不太一樣… 還請你多多指教
to keke:
如果你指的是外部的IP連進來Port 27300~27400時,要轉到內部的某個IP的話,那就要在NAT那邊進行Port的對映。
如果你指的是內部的IP透過NAT連線出去時,要限制NAT Port的區間,那我目前也不知道RouterOS上是否有方法可以達成。
我把範例解說的詳細一點好了
Server 軟體:雷電 FTP , 功能啟用:DATA連線使用埠號範圍 27300~27400
Client 軟體:FlashFXP
環境: 外部 FTP 站A |一般的分享器/防火牆a|–internet—|一般的分享器/防火牆b|內部FTP站B
目標任務:從 A 把資料 FXP 到 B (可逆)
要完成上述情況的話,在 a 跟 b 必須開啟 tcp/udp port 27300~27400 給 雷電FTP 作為 PASV 的 DATA 連線使用
我以Vigor2100 為例子,一般分享器在 NAT 的設定通常會有三類基本功能
Port Mapping:http://i.imgur.com/y593TzH.jpg
DMZ;http://i.imgur.com/Acf1LPm.jpg
Open Port:http://i.imgur.com/EYpMJEP.jpg
茶包兄目前已經示範了 Port Mapping/DMZ
但是我在 mikrotik wiki 上面好像沒找到關於 Open Port 部分的資料
上面有個地方敘述錯誤….修正為
環境:
內部 FTP 站A |一般的分享器/防火牆a|–internet—|一般的分享器/防火牆b|內部FTP站B
用示意圖的話是這樣:http://i.imgur.com/r6AerI6.jpg
NAT 可替換為 RouterOS/IPShare
to keke:
我想你的問題應該可以鎖定在FTP於Firewall後面的設定,
關於FTP可能要先了解2種模式,主動模式(Active mode)與被動模式(Passive mode),因為這2種模式會影響RouterOS的設定。
下面幾個連結可以供你參考,或是到google上搜尋「FTP NAT」,相信你的問題應該可以解決。
RouterOS對於FTP的相關討論
http://forum.mikrotik.com/viewtopic.php?f=13&t=55787
http://forum.mikrotik.com/viewtopic.php?f=2&t=61450
解說 FTP Protocol 的運作原理
http://blog.miniasp.com/post/2008/06/29/FTP-Protocol-Definitive-Explanation.aspx
主動模式在正常非 NAT 後面的 FTP 是 OK 的
但是如果碰到 FTP 是在 NAT/防火牆後面
那幾乎肯定是跑被動模式…..
而被動模式也才需要開啟一個區段的 port 提供 FTP Server 隨機取用
這只是一個應用例子
回歸正題討論的話
應該是說
NAT 的設定通常會有三類基本功能
Port Mapping/DMZ/Open Port
而在 RouterOS 上面關於 Open Port 的部分,根據我在 wiki 翻閱的結果,好像是寫在 NAT 的部分,但是只寫了功能參數表示規則,並沒有很具體的說明,
這篇 http://forum.mikrotik.com/viewtopic.php?f=2&t=61450 的討論比較接近我所舉列的範例環境
anyway,謝謝 jason 的回覆….^^
我想再請教一個可能是比較基本但我不會的問題,就是如果我要把網卡的 Mac Adress 設到第一個 Port 上面的話,該怎麼設呢?
因為 isp 那邊是根據 Mac Adress 來發放固定 ip 給對應的客戶端
一般的 ip分享器也大多有提供這功能,RouterOS 上面這部分是不是要在防火牆規則那邊來操作呢~
to keke:
這項改MAC卡號的功能是有的,不過不是在GUI介面中操作,
必需要在Terminal中下指令才可以。
/interface ethernet> set P2_LAN mac-address=11.22.33.44.55.66
可惜今晚輸給日本一分含恨………
/_\
感謝 Jason 的指導…..你真的是大救星
試用RB951G-2HnD到現在我發現有一個很奇怪的問題
就是在WinXP系統下,譬如說開網頁,或是遊戲,會突然頓一下,然後網路就斷了
但是接著馬上又通了,我查了一下 log,顯示如下
mar/16 18:44:47 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 18:51:21 interface,info ether2-master-local link down
mar/16 18:51:24 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 19:17:34 interface,info ether2-master-local link down
mar/16 19:17:36 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 19:26:51 interface,info ether2-master-local link down
mar/16 19:26:54 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 20:58:48 interface,info ether2-master-local link down
mar/16 20:58:50 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 21:15:51 interface,info ether2-master-local link down
mar/16 21:15:54 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 21:44:40 interface,info ether2-master-local link down
mar/16 21:44:43 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 21:53:16 interface,info ether2-master-local link down
mar/16 21:53:19 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 21:53:54 interface,info ether2-master-local link down
mar/16 21:53:56 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 22:00:26 interface,info ether2-master-local link down
mar/16 22:00:29 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 22:16:21 interface,info ether2-master-local link down
mar/16 22:18:11 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 22:23:37 interface,info ether2-master-local link down
mar/16 22:23:39 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 22:35:47 interface,info ether2-master-local link down
mar/16 22:35:50 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 23:06:35 interface,info ether2-master-local link down
mar/16 23:06:37 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 23:46:34 interface,info ether2-master-local link down
mar/16 23:46:36 interface,info ether2-master-local link up (speed 1000M, full duplex)
mar/16 23:52:59 interface,info ether2-master-local link down
mar/16 23:53:01 interface,info ether2-master-local link up (speed 1000M, full duplex)
我實在是搞不懂為什麼會這樣…..
to keke:
先把ROS重設回原廠設定,然後找一台乾淨的電腦或筆電測試。
還是一樣的話,建議你找賣家幫你測試看看是否為RB951G-2HnD機器的問題。
我找到可能的禍首: cfosSpeed
似乎是自帶的更新程式沒有安裝完全所導致…..
目前持續觀察中……
可以問一個簡單問題嗎?
因為最近在設定 RouterOS,機器不在手邊,是先弄好 PPTP VPN,然後 VPN 去設定的
為了以防萬一,我綁定家裡的 IP 是可以 telnet 與 www (改 port) 透過 wan1 進去 RouterOS 的
但是 winbox 還是沒辦法直接從家裡的 IP 連進去,port mapping 已經設定好,我發現 winbox 會去找 wan 1 的 port 8291, 0, 80,不管我在 /ip Service List 裡面已經改了 www 的 port
to Gemma:
可能的問題點1:Domain Cache的問題。到開始 => 執行 => cmd => ipconfig /flushdns
可能的問題點2:winbox要連其他Port的話,可以使用下面的方式(8888可以改成你自訂的Port)
在Connect To那邊打上ros.yourdomain.com:8888
您好!我綁定家裡的 IP 可以使用 IP Services www, winbox, telnet
我並沒有改 winbox 的 port,我只有改 www 的 port 為 8080
而且在 IP NAT 那邊已經做了 port mapping 了
我發現只有 www 可以從家裡 IP 連上,其他不管是 telnet 或 winbox 都不行
而且還有一個問題是,我有兩個 public IP1 與 IP2,RouterOS 是 IP3
我把 IP1 port 8080 mapping 到 IP3 port 8080,同時 firewall 允許 IP2 的 port 8080 連線,這樣我可以用家裡的 IP 以 www 連上
但是同樣的作法,把 IP2 port 443 mapping 到 IP3 port 8080,同時 firewall 允許 IP2 的 port 443 連線,卻無法以用家裡的 IP 以 www 連上
您好!我把我的問題與目前的設定再描述清楚一點,請您指教
我的環境是 2 WAN 是固定 Public IP 且相同 Gateway,第三個 WAN 則是公司的內網取得的 DHCP IP(這個暫時被 Disable 免得變數太多)
我的設定是
1. IP Services 裡面指定 www, winbox, telnet 可以從 LAN 與家裡的 IP 連上,同時修改的 www 的 port 為 8081,而 telnet 與 winbox 的 port 並沒有改變
2. IP Firewall Filter Rule 裡面的設定
add action=accept chain=input disabled=no dst-port=8081 in-interface=wan2 protocol=tcp
add action=accept chain=input disabled=no dst-port=443 in-interface=wan1 protocol=tcp
add action=accept chain=input disabled=no dst-port=23 in-interface=wan2 protocol=tcp
add action=accept chain=input disabled=no dst-port=8291 in-interface=wan2 protocol=tcp
3. IP Firewall NAT 裡面的設定
add action=dst-nat chain=dstnat disabled=no dst-port=8081 in-interface=wan2 protocol=tcp to-addresses=192.168.88.1 to-ports=8081
add action=dst-nat chain=dstnat disabled=no dst-port=443 in-interface=wan1 protocol=tcp to-addresses=192.168.88.1 to-ports=8081
add action=dst-nat chain=dstnat disabled=no dst-port=23 in-interface=wan2 protocol=tcp to-addresses=192.168.88.1 to-ports=23
add action=dst-nat chain=dstnat disabled=no dst-port=8291 in-interface=wan2 protocol=tcp to-addresses=192.168.88.1 to-ports=8291
測試的結果
第一個問題:
直接從家裡 IP 連上 WAN2,不管是 www, telnet, winbox 都可以使用
直接從家裡 IP 連上 WAN1,因為從 port 443 轉成 port 8081,用 Browser 連線也不行
第二個問題:
人在外地,又想管理 RouterOS,因為已經限制只能用家裡的 IP 管理
使用 PPTP VPN 連回家裡,檢查對外 IP 顯示為家裡的 IP,無法連上 RB450G
使用 SSH + Proxy 的方式連回家裡,檢查對外 IP 顯示為家裡的 IP,可以使用 Browser 連上 RB450G,但 telnet 與 winbox 則不行
to Gemma:
第一個問題:
確認看看WAN1這個Interface是否有設定IP位置給他。
第二個問題:
外面要連進ROS,ROS有多個gateway,而且gateway的位置是一樣時,
一定要記得用mangle來標記,那邊來的,就要從那邊回去。input與output都要作。
下面是範例,自己修改後要再配合routing table使用。
如果有2個WAN都要開放外面可以連線,那就是2對input與output規則(共4條規則)。
add action=mark-connection chain=input
connection-state=new disabled=no in-interface=ADSL-1 new-connection-mark=\
from_adsl_1 passthrough=yes
add action=mark-routing chain=output connection-mark=from_adsl_1 disabled=no \
new-routing-mark=to_adsl_1 passthrough=no
這是我的設定,問過很多地方了,都一直得不到解答
/ip firewall mangle
add action=mark-connection chain=input disabled=no in-interface=wan1 new-connection-mark=from_wan1 passthrough=yes
add action=mark-routing chain=output connection-mark=from_wan1 disabled=no new-routing-mark=to_wan1 passthrough=no
add action=mark-connection chain=input disabled=no in-interface=wan2 new-connection-mark=from_wan2 passthrough=yes
add action=mark-routing chain=output connection-mark=from_wan2 disabled=no new-routing-mark=to_wan2 passthrough=no
add action=mark-connection chain=prerouting connection-state=new disabled=no in-interface=master-local new-connection-mark=nth_1 nth=2,1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=nth_1 disabled=no in-interface=master-local new-routing-mark=to_wan1 passthrough=no
add action=mark-connection chain=prerouting connection-state=new disabled=no in-interface=master-local new-connection-mark=nth_2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=nth_2 disabled=no in-interface=master-local new-routing-mark=to_wan2 passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=wan1 routing-mark=to_wan1
add action=masquerade chain=srcnat disabled=no out-interface=wan2 routing-mark=to_wan2
add action=masquerade chain=srcnat disabled=no
add action=masquerade chain=srcnat disabled=no src-address=192.168.88.0/24
add action=masquerade chain=srcnat disabled=no out-interface=!master-local
/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway= scope=10 target-scope=10
wan1 確認有設定 IP,因為用 PPTP VPN 從 WAN1 IP 連進去是可以的
to Gemma:
/ip route
這邊也要設定,那一個routing-mark要走那一個gateway出去
例子:
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ADSL-1 routing-mark=to_adsl_1 scope=255 target-scope=10
上面沒貼清楚,目前我是這樣寫,wan1 與 wan2 是同一個 gateway_ip
/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=gateway_ip scope=10 target-scope=10
如果是像下面這樣設定,則會變成內網連不出去,外網VPN也連不進來
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wan1 routing-mark=to_wan1 scope=255 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=wan2 routing-mark=to_wan2 scope=255 target-scope=10
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=gateway_ip scope=10 target-scope=10
茶包叫你好,我使用hinet計時制贈送的固定ip來架設web server 可是外網連進來的ip,我的server偵測到它都指向自己router ip,有參考您在上面的教學方法:
—————————————————–
/ip firewall nat
add action=masquerade chain=srcnat comment=”” disabled=no out-interface=!LAN
重點在於下面這行,注意有個驚嘆號
out-interface=!LAN
——————————–
可是卻都一樣偵測不到外網ip,以下是我的設定參數,麻煩求教,謝謝
[admin@MikroTik] /ip firewall mangle> /ip firewall nat print detail
Flags: X – disabled, I – invalid, D – dynamic
0 chain=dstnat action=dst-nat to-addresses=192.168.88.2 to-ports=80
protocol=tcp dst-address=220.134.244.104 dst-port=80
1 ;;; default configuration
chain=srcnat action=masquerade to-addresses=0.0.0.0 fragment=no hotspot=””
out-interface=!ether3-slave-local connection-limit=0,32
[admin@MikroTik] /ip firewall mangle>
to qq168:
建議不要使用IP來綁定(除非你是使用不需撥接ADSL的固接方式),用interface的方式來設定會比較彈性,你可以參考下面的另一種解法。
下面的例子是假設你的Server IP為192.168.10.100,撥接固定IP的Interface為ADSL-2。
/ip firewall nat
add action=masquerade chain=srcnat disabled=no out-interface=ADSL-2 \
routing-mark=to_ADSL2
add action=masquerade chain=srcnat disabled=no src-address=192.168.10.0/24
add action=netmap chain=dstnat disabled=no in-interface=ADSL-2 to-addresses=\
192.168.10.100
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ADSL-2 routing-mark=\
to_ADSL2 scope=30 target-scope=10
茶包兄你好:這幾天小弟有瓽試做測試,可是使用winbox做設定,在指定 routing-mark 的時候,該選項只出現”main” 這個值。不知是什麼情況?感謝解答
以下是我的畫面
http://farm4.staticflickr.com/3734/9150311514_6be2f5d612_b.jpg
to qq168:
routing-mark那邊要自己打,用下拉的不會出現尚未存在的東西。
茶包兄:
小弟的區網內 有一台ftp主機 :192.168.1.2
在另一台電腦192.168.1.3連到 ftp 主機
可是卻都無法連線,請問是怎麼回事呢??
如果是同一個LAN內,那可能要查一下FTP Server的防火牆設定
茶包薛你好,
請問 如何將 IP 轉向
有一個需求,
就是區網的電腦瀏覽網頁時,若是網頁的目的IP 是 11.22.33.44 時,
將其連線轉向 區網內的某一台Web主機
我目前的方法是使用 ROS 的 NAT
我新增一組設定
Chain: dstnat
Dst Address: 11.22.33.44
Protocol: 6 (tcp)
Dst Port: 80
In Interface: locla-lan
Action: dst-nat
To Addresses: 192.168.0.18
To Ports: 80
但是失敗了!!
請問設定是/否有問題 ??
——————————————————————-
追加說明:
ROS 主機 Ping 192.168.0.18 成功
我的PC Ping 192.168.0.18 成功
我的PC 瀏覽 192.168.0.18 web站台 成功
但是我的 PC特地瀏覽 11.22.33.44 時,會出現 連線逾時
觀察 ROS Firewall-Connection 出現
Src Address Dst Address Prococol Tcp State
192.168.0.71 11.22.33.44:80 6(tcp) syn sent
PS:已把 In Interface: locla-lan 取消,結果仍然是不行
to Cappella:
設定上應該是可以的。
請先確定你要重導的那台server防火牆的設定是ok的。
我貼上我自己測試的指令給你試試。
只要是連到1.1.1.1 的80 port ,就會被重導到yahoo的網站。
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=1.1.1.1 dst-port=80 in-interface=\
ether2-local-master protocol=tcp to-addresses=27.123.201.197 to-ports=80
感謝茶包兄協助!!
我也照著你的範例做,發現成功連到 YAHOO 網站
但是我把 to-addresses 改成 區網內的一台 WebServer 的 IP 就不通了
我是遺漏哪些事項呢 ?
to Cappella:
先把問題單純化。
不要透過ros轉址,直接連你區網內的那台webServer,看看是否可以通。
茶包兄你好!!
直接連區網內的那台webServer,是可以正常連線的
剛剛我在我的本機電腦,也加了一個WebServer
我的IP : 192.168.0.71
瀏覽網頁 http://192.168.0.71 有出現首頁
若是我透過ROS, 改成 to-addresses = 192.168.0.71
此時瀏覽 http://1.1.1.1 就不通了
茶包兄不知道你有結果嗎 ??
Hi Cappella:
我這邊試的結果是沒問題的。
我使用的規則如下
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=1.1.1.1 dst-port=80 protocol=tcp \
to-addresses=192.168.88.190 to-ports=80
自己的電腦IP是192.168.88.210
建議你把轉址的規則拉到NAT的第1條,讓它優先執行試試。
感謝你的協助!! 我這邊仍然卡在 syn sent
Src Address Dst Address Prococol Tcp State
192.168.0.71 11.22.33.44:80 6(tcp) syn sent
應該是我這邊的問題,謝謝茶包兄
對啦 我把 1.1.1.1 改成 11.22.33.44 啦
to Cappella:
也許你可以把nat裡面的完整的所有規則貼上來,我可以幫你測測看
你好
我設定好ddns 、port forwarding
內網的 NAS IP 為 192.168.5.102
架了FTP , pyLoad , Transmission Remote,Transmission…
用192.168 .x.x 皆可連到
但是在內網用 ddns 的網址就連不到。但是在外網用ddns 可連到
請問這是哪裡沒設定到?
—————————-
內網 可用 192,168.x.x
內網 不用用 ddns
外網 可用ddns
—————————–
謝謝
to chen:
看起來很像是NAT loopback 的問題,在RouterOS上可以用NAT的方式解決
add action=dst-nat chain=dstnat comment=”” disabled=no dst-address=外部的IP(123.123.123.123) dst-port=80 protocol=tcp to-addresses=內部的IP(192.168.55.200) to-ports=80
這樣子就完美了,但是如果你的外部IP是動態的,就需要配合Script去更新使用
相關參考資料:
讓 MikroTik RouterOS 支援 NAT loopback
http://www.mobile01.com/topicdetail.php?f=110&t=2079471
Hairpin NAT
http://wiki.mikrotik.com/wiki/Hairpin_NAT
您好~我在同wan port底下抓了3組pppoe實體ip
已經達成可以讓3個lan port分別使用不同ip來上網
但想做到每台主機可以開對外服務,依照站上兩種方式開通NAT指向區網IP都無法成功
是不是有少設定哪個步驟呢?感恩
to 阿賢:
除了外部的port對映外,還需指定內部的機器要走那條pppoe回去。
有去就要有回,從那個pppoe進來,就從那個pppoe回去。
附上範例供你參考。
/ip firewall nat
add action=masquerade chain=srcnat out-interface=AR2_ADSL-3 routing-mark=ArtRouter2_ADSL-3 to-addresses=0.0.0.0
add action=dst-nat chain=dstnat dst-port=8888 in-interface=AR2_ADSL-3 protocol=tcp to-addresses=192.168.10.119 to-ports=8888
/ip firewall mangle
add action=mark-routing chain=prerouting dst-address=!192.168.0.0/16 \
dst-address-list=!RouterOS_IP new-routing-mark=ArtRouter2_ADSL-3 passthrough=no src-address=192.168.10.119
/ip route
add distance=1 gateway=AR2_ADSL-3 routing-mark=ArtRouter2_ADSL-3
您好!!
我剛實驗加入以上設定發現網路不通了…
我先貼上我原本的設定,目前設定是想測試利用ppoe3上網且外面可以網路可以連進192.168.1.3的所有port 不過失敗了…設定是
# feb/13/2015 08:51:50 by RouterOS 6.19
# software id = JL9K-DWTY
#
/interface ethernet
set [ find default-name=ether1 ] name=PORT1_WAN1
set [ find default-name=ether2 ] name=PORT2_WAN2
set [ find default-name=ether3 ] name=PORT3_LAN1
set [ find default-name=ether4 ] master-port=PORT3_LAN1 name=PORT4_LAN2
set [ find default-name=ether5 ] master-port=PORT3_LAN1 name=PORT5_LAN3
/ip pool
add name=dhcp_pool1 ranges=192.168.1.100-192.168.1.199
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=PORT3_LAN1 name=dhcp1
/port
set 0 name=serial0
/interface pppoe-client
add ac-name=”” add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=PORT2_WAN2 keepalive-timeout=\
disabled max-mru=1480 max-mtu=1480 mrru=1600 name=pppoe-out1 password=\
seednet profile=default service-name=”” use-peer-dns=yes user=seednet
add ac-name=”” add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=PORT2_WAN2 keepalive-timeout=\
disabled max-mru=1480 max-mtu=1480 mrru=1600 name=pppoe-out2 password=\
seednet profile=default service-name=”” use-peer-dns=yes user=seednet
add ac-name=”” add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=PORT2_WAN2 keepalive-timeout=\
disabled max-mru=1480 max-mtu=1480 mrru=1600 name=pppoe-out3 password=\
seednet profile=default service-name=”” use-peer-dns=yes user=seednet
/ip address
add address=192.168.1.1/24 interface=PORT3_LAN1 network=192.168.1.0
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=139.175.1.1,168.95.1.1,8.8.8.8 gateway=\
192.168.1.1
/ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=to_pppoe3 \
passthrough=no src-address=192.168.1.3
/ip firewall nat
add action=dst-nat chain=dstnat in-interface=pppoe-out3 to-addresses=\
192.168.1.3
add action=masquerade chain=srcnat src-address=192.168.1.3
/ip route
add distance=1 gateway=pppoe-out3 routing-mark=to_pppoe3
/ip upnp
set allow-disable-external-interface=no
/system clock
set time-zone-name=Asia/Taipei
/system clock manual
set time-zone=+08:00
[admin@MikroTik] >
請問大大,因為某些因素,我必須使用我內網其中一個ip(192.168.10.50)作為光世代的線路,其中又只要192.168.10.51-55這幾台電腦走這邊出去,其餘ip出去方向不變。請問這要如何設定?
to mac:
可以參考此篇的作法
http://wiki.mikrotik.com/wiki/Load_Balancing_over_Multiple_Gateways