基地台與分享器 - [研究所] MikroTik RouterOS 學習 (持續更新) - 電腦

前往內容


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

EoIP 應用

EoIP 在之前已有介紹, 這次看到網友提到的問題 如何建置兩地同網段的VPN, 它的應用算是蠻特別的, 一台 Karaoke 機器原本安裝在日本, 且必須安裝在一特定 firewall 後端. 而現在打算將機器安裝在台灣使用.

辜且不論它是否能夠透過 VPN 將此台 Karaoke 安裝在台灣, 這裡就假設在既有的架構下, 不去更動 Karaoke 機器原有的 IP 等網路參數, 而如何將其安裝在台灣使用?

作法
很明顯的這非常適合 EoIP 的應用, 但小弟也沒有該台 Karaoke 機, 那麼就以另一種方式來模擬, A & B 兩點各有 PPPoE 上網, 那麼在 B 點怎麼用 A 點的 PPPoE 帳號連線呢? 這相當於將 A 點的 ADSL MODEM Ethernet Port '延伸' 至 B 點.

這裡用了兩台 MikroTik Router,各端口設定如下.

A site:
ether1: 接 ADSL MODEM (上網用)
ether2-4: LAN
ether5: 接 ADSL MODEM (將 ADSL 訊號延伸至 B 點用)

B site:
ether1: 接 ADSL MODEM (上網用)
ether2-4: LAN
ether5: 將 A site 的 ADSL 訊號 '延伸' 至此 port (可直接以 A site PPPoE 帳號上網)

整個架構非常的簡單. 就是利用 ether5 port 來做 EoIP '延伸' 的應用. 以下指令僅列出重要部份.

注意:由於兩台 router 的 ether5 port 要做為特殊應用, 請將其 master-port 設為 none.(不要加入 switch group)


# A_SITE
# 與 SITE B 建立 EoIP tunnel
/interface eoip
add name=eoip-tunnel1 remote-address=SITE_B_WAN_IP tunnel-id=0

# 將 EoIP tunnel 和 ether5 bridge 起來
/interface bridge
add name=bridge-eoip

/interface bridge port
add bridge=bridge-eoip interface=eoip-tunnel1
add bridge=bridge-eoip interface=ether5


在 B site 的設定也是完全相似的. 這就完成所有的設定了, 此時在 B site ether5 port 接一 PC 直接以 A site PPPoE 帳號撥號, 確認是 ok 的.

這類的應用非常靈活, user 可以自行發揮想像力, 例如將 A 點已有 IPv6 service '延伸' 至 B 點等...

eavictor wrote:
原廠已經放出6.0rc12的更新
想請問各位大大,有人更新之後SSTP VPN無法連線嗎?..(恕刪)


經測試在更新後有如你所說的狀況, 問題出在 6.0rc12 此版本的 SSTP server 要求一定要安裝憑證才行, 你安裝憑證並啟用後就 ok 了.
有關 RouterOS v6 SSTP 無憑證的情況下無法連線的問題, 經詢問原廠, 確認在 v6 不支援 sstp unsecure connection.

於 changelog 中有提及:
*) sstp server - removed test mode which allowed running server without certificate;

所以升級至 v6 後, 原使用 SSTP VPN 的 user 必須特別注意此點.

pctine wrote:
有關 RouterO...(恕刪)


因小弟申請的是WildCard SSL Certificate,不知道是不是與此有關係
這部分不知道RouterOS是否支援WildCard SSL憑證,不過升級之前是可以使用沒問題的。


PS:
使用OpenSSL產生WildCard憑證要求的步驟只有在Common Name輸入時不一樣
Standard SSL:www.example.com
WildCard SSL:*.example.com
Static Route & Policy Route - 策略路由

前面多篇文章提到有關 VPN tunnel 的建立, 在 VPN 的應用上常常被提及的一個議題-'翻牆', 簡單的說就是把出 Internet 的路由導到 VPN tunnel, 例如台商在 China 上網時有些網站是被限制的(例如 facebook), 此時利用 Taiwan & China 間建立 VPN, 將封包導至 VPN tunnel 再透過台灣連線出去 Internet.

在 '翻牆' 的議題上大多數提及的是 client to VPN server 的型式, 此部份就不多做介紹, 下面的重點是放在 site-to-site VPN 上, 以下假設 A & B 兩地已建立 VPN Tunnel (各種型式的 VPN Tuennl - PPTP, SSTP, IPSEC...), 透過 mangle packet & ip route 即能將所有 Internet 上網的封包導至 VPN Tunnel.

Policy Route 主要是透過下列的方式來實現, 第一利用 ip firewall manage or ip route rule 來正確的標記封包(對於不同類別的封包根據 address & service type 加以標記), 然後再於 ip route 根據前面所做的路由標記指向不同的 gateway.


/ip firewall mangle
add action=mark-routing chain=prerouting disabled=no new-routing-mark=\
Through_VPN passthrough=no src-address=192.168.38.0/24

# 假設 user 已建立一 VPN Tunnel (sstp-out2)
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=sstp-out2 \
routing-mark=Through_VPN scope=30 target-scope=10


以前在 Draytek Vigor VPN 上只要簡單的在 VPN Tunnel 上勾選將 default route 指向此 VPN Tunnel 就達到目的, 但在 MikroTik Route 上, 小弟卻花了一些功夫才想通, 之前以為 VPN Tunnel 建立起來之後, 簡單的加一條 ip route 0.0.0.0/0 導到 VPN tunnel 即可, 但這樣做會造成 VPN Tunnel 斷線, 因為建立 VPN Tunnel 的封包是不能 include 進去的, 還是必須利用 ip firewall mangle 正確的標示出封包才行.

重點說明
有關於如果 define routing rule(policy), 做法有二種, 說明如下.
1.利用 ip firewall mangle: (例如對 dst.address=8.8.0.0/16 做路由標記)


2.利用 ip route rule:


至於採何種方式端視應用的環境, 而在 ip firewall mangle 可以利用的參數較多.

這個問題我也一直在想:


mandymak wrote:
pctine大大, ...(恕刪)


而且我也參考過Mikrotik上那篇未完成的wiki: http://wiki.mikrotik.com/wiki/Routing_through_remote_network_over_IPsec

如果按照pctine大大的作法是不是每個網站的IP地址都要加進去?

這方面現在Draytek Vigor 3200n做得比較好, 請看:

各位高手大大好,小弟我又來了…

因為搞不太清楚要怎麼處理,所以在此請教各位大大如何設置…




主機ROUTEROS不知道該怎麼設定…

7台電腦有些要用到192.168.10.*的網段出去,因要存取該網段內其他電腦分享的目錄資料,
並透過internet ip b 出去

但7台電腦內又有些要用roueteros的 dhcp server 192.168.1.*透過internet ip a 出去

分別為
interface1 lan端口(接switch)
interface2 wan端口(接dhcp server 192.168.10.*)
interface3 wan端口(接internet ip a)

請問各位大大 routeros 要如何設置 routeros 成為橋(是撟接嗎?)且又可在 routeros firewall 裡面進行網站文字過濾。

那走 ip b 的 dhcp server 要加設在?interface?

如何在routeros裡設定七台電腦要使用192.168.10.*(ip b)
或(ip a)出去?

感謝大大指導…感恩!

necosjou wrote:
各位高手大大好,小弟...(恕刪)


或許是你把問題想的太複雜了, 其實解法很簡單, 這裡是應用 port base 來切割(分配) RouterBoard 上面的 switch port.

這裡假設 routerboard 上面有 10 個 switch port.
ether1-5: 192.168.1.x 網段 (group-a)
ether6-9: 192.168.10.x 網段 (group-b)
ether10: WAN for Internet b

這裡不管是用 switch master-port 方式或是 bridge 方式將 routerboard 上的 switch port 分成兩個不同的 group. (由於 switch chip 的限制, 有時候不見得一台 routeboard 允許你切割出多個 switch group, 所以你可以交替運用 bridge or VLAN 來解決)

由於 192.168.1.x 的網段是由上層 dhcp server 來配發 IP, 所以直接由上層接一條網線過來即可, 這樣底下的 PC 自然就會走 192.168.1.x 的 default gateway 出 Internet. (對 group-a 來說, routerboard 上的 port 只是當做一台 switch 來使用而已)

而 192.168.10.x 的網段, 你在該 LAN master-port 上指定一個 192.168.10.1 ip address, 並且將 dhcp server 指定在此 lan port 上. 那麼同屬 group-b 的 PC 就會從此 dhcp server 取得 IP, 並且自動設置好 default gateway 往 192.168.10.1. (當然你還要設定 NAT 讓 group-b user 出 Internet)
mandymak wrote:
而且我也參考過Mikrotik上那篇未完成的wiki: http://wiki.mikrotik.com/wiki/Routing_through_remote_network_over_IPsec
如果按照pctine大大的作法是不是每個網站的IP地址都要加進去?
這方面現在Draytek Vigor 3200n做得比較好


該篇未完成的文章小弟也有讀過, 不過該篇最重要的部份並未完成, 所以參考價值不大. 至於 Policy Base Route 確實需要將所有你要導至 VPN remote site 的 destination subnet or IP address 列出, 不然 router 並不曉得封包要怎麼走, 此部份即使使用 vigor router 也是類似的作法. 況且在 Vigor router 上, 也只有在高階的機種才允許在 load balance 上指定走 VPN tunnel, 一般像 vigor 2920 等級也只能指定 WAN port.

當然 vigor router 它在 VPN 設置上面簡單許多, 尤其是 vigor to vigor router 之間 VPN 的建置更是容易, 此部份是一般 firewall or router 無法比的, 但如果你的路由複雜度 or 筆數相當多, 那麼在 vigor router 上實作並不容易, 而且可能還有筆數的限制, 但 MikroTik router 此時就會好用些.


Taiwan & China IP 列表及翻牆進中國

Taiwan IP 列表
China IP 列表

在討論翻牆 or bypass China gfw 的議題上, 常需要引用 Taiwan & China IP 列表, 以下為根據前面網站的 IP 列表所整理出來 script.

TaiwanIPList.rsc

/ip firewall address-list
add list=TaiwanIPList address=1.160.0.0-1.175.255.255
add list=TaiwanIPList address=1.200.0.0-1.200.255.255
add list=TaiwanIPList address=1.34.0.0-1.35.255.255
...


import 上述檔案至 RouterOS 時, 若 ip range 可以轉換為 IP/CIDR 格式者系統會自動轉換. 例如
1.34.0.0-1.35.255.255 ==> 1.34.0.0/15

在 RouterOS 裡除了 ip firewall address-list table 外, 另外還有一個 ip route rule table, 若要建立 ip route rule table, user 可以從前面的 table 再 export 出來加以修改為 ip route rule 格式再匯入(注意: ip route rule 僅接受 subnet 格式, 不接受 ip range)

附加壓縮檔(TaiwanIPList): 201304/mobile01-966f2cbdd509d4c4f031972232fbd8d5.zip

附加壓縮檔(ChinaIPList): 201304/mobile01-1873c1d74d0ac416a27f893c3fc7b1c1.zip

Policy Route & China IP 列表的應用
這裡示範一個有關於翻牆的應用, 現在大家拼命想從 China 翻牆到外面的 Internet 世界, 但很多影音網站卻 host 在 China, 例如土豆網, 如果你從台灣連線至 tudou.com 網站, 常常遇到這種狀況.


因為土豆網有限制來源 IP, 如果從台灣連線上去就會發生上述狀況, 那麼小弟偏偏要翻牆進去 China.

1.首先你必須要有一個 VPN Server 在 China, 或是使用 China 的 VPN service, 朋友在 China 剛好有一台 Vigor 2920, 請他幫我建立一個 PPTP VPN 帳號 (這裡只要建 dial-in 帳號即可, 因為只是要借助它上網而已, 並不用建立 site-to-site VPN). 這個點就當做一個 '進入' 中國的跳板.

2.接下來全都是在台灣 RouterBoard router 上面設置


# import China IP List
import ChinaIPList.rsc

# 根據 China IP List 標示封包(由於只用於上網,所以標示 80/TCP 即可)
/ip firewall mangle
add action=mark-routing chain=prerouting comment="Mark China IP" disabled=no \
dst-address-list=ChinaIPList dst-port=80 new-routing-mark=ChinaIP \
passthrough=no protocol=tcp

# 建立 pptp-client 連線至 VPN Server
/interface pptp-client
add connect-to=119.145.xxx.xxx disabled=no name=pptp-out2 \
password=xxxx user=pctine

# NAT masquerade (對外的封包做 SNAT)
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pptp-out2

# IP routing to China
/ip route add gateway=pptp-out2 routing-mark=ChinaIP check-gateway=ping


這樣就完成所有的設置, 簡單的說就是只要符合 ChinaIPList 裡面的目的地網段, 都往 VPN tunnel 送. 雖然人在台灣, 但因為往大陸的路由都導由 China 直接出去, 所測得的 IP 自然屬於 China.


但上 www.ipaddress.com 測試, 因為 ipaddress.com 不在中國, 所以封包會直接由台灣連線出去, 所以它測得的 IP 來源仍然來自台灣, 這樣只有 host 在中國的網站才走 VPN tunnel, 其餘還是走台灣 ISP 出去, 在上網速率上保有原水平.

再連上土豆網試看看剛才無法觀看的影片, 此時因為連出去的 IP 為 China 網段, 自然就沒有問題了.




PPTV.com 也鎖非 China IP.


同樣突破封鎖.


搜狐視頻也只授權中國大陸地區用戶.


台灣不是中國的一部份啦! 但我還是要看搜狐影片.


總結
上述的做法, 因為只有位在 China 的網站才透過 VPN Tunnel 連線, 而不在中國的網站仍然走原本的 Internet 出去, 這樣不但本地或是出國外的網站仍然維持較高的傳輸效能, 又能突破中國影音網站的 IP 封鎖. 而且只要是在台灣端 Router 底下的電腦都適用, 不需要每台 PC 都做 VPN 撥接, 而想從 China 翻牆出來的 User, 只要舉一反三應用即可.
附加檔案已被下載182次

33頁 (共281頁) » 分享到

前往



廣告
廣告