<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VPN &#8211; acm&#039;s blog</title>
	<atom:link href="https://blog.acm.idv.tw/tag/vpn/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.acm.idv.tw</link>
	<description>技術與生活隨筆</description>
	<lastBuildDate>Mon, 11 Sep 2023 15:28:38 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8</generator>

<image>
	<url>https://blog.acm.idv.tw/wp-content/uploads/2022/06/cropped-logo_kaffa9-3-32x32.png</url>
	<title>VPN &#8211; acm&#039;s blog</title>
	<link>https://blog.acm.idv.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>EdgeRouter與MikroTik之間的Site-To-Site VPN (IPSec)設定</title>
		<link>https://blog.acm.idv.tw/2023/07/16/edgerouter%e8%88%87mikrotik%e4%b9%8b%e9%96%93%e7%9a%84site-to-site-vpn-ipsec%e8%a8%ad%e5%ae%9a/</link>
					<comments>https://blog.acm.idv.tw/2023/07/16/edgerouter%e8%88%87mikrotik%e4%b9%8b%e9%96%93%e7%9a%84site-to-site-vpn-ipsec%e8%a8%ad%e5%ae%9a/#respond</comments>
		
		<dc:creator><![CDATA[kaffa9]]></dc:creator>
		<pubDate>Sun, 16 Jul 2023 08:00:04 +0000</pubDate>
				<category><![CDATA[網路]]></category>
		<category><![CDATA[EdgeRouter]]></category>
		<category><![CDATA[IPSec]]></category>
		<category><![CDATA[MikroTik]]></category>
		<category><![CDATA[RouterOS]]></category>
		<category><![CDATA[VPN]]></category>
		<guid isPermaLink="false">https://kaffa9.com/?p=780</guid>

					<description><![CDATA[近兩年在家裡佈建了許多小米攝影機，同時用一台舊PC安裝Ubuntu Server，運行SAMBA服務來充當NAS，供攝影機將記憶卡裡的影片上傳。而我在另一個比較...<p class="read-more"><a class="btn btn-default" href="https://blog.acm.idv.tw/2023/07/16/edgerouter%e8%88%87mikrotik%e4%b9%8b%e9%96%93%e7%9a%84site-to-site-vpn-ipsec%e8%a8%ad%e5%ae%9a/"> Read More<span class="screen-reader-text">  Read More</span></a></p>]]></description>
										<content:encoded><![CDATA[
<p>近兩年在家裡佈建了許多小米攝影機，同時用一台舊PC安裝Ubuntu Server，運行SAMBA服務來充當NAS，供攝影機將記憶卡裡的影片上傳。而我在另一個比較少住的住處也同樣安裝了小米攝影機，因為人沒有每天住，為了用電安全，所以不想搬台PC過去24&#215;7運行。左思右想，同時做了一些功課，覺得在兩地之間建立Site-To-Site VPN連線應該是比較好的做法，無奈其中一地使用市售分享器ASUS RT-AC1200G PLUS，對Site-To-Site VPN支援度不足，這個想法便一直擱置。</p>



<p>直到最近，因中華電信升速至300M的緣故，購入了Ubiquiti EdgeRouter-X和MikroTik RB750Gr3這兩台設備後，因為支援的網路功能較市售路由器來得豐富且靈活，便抽了個空做實驗，順便當做MikroTik RouterOS設定練習。</p>



<h2 class="wp-block-heading">架構圖</h2>



<p>下圖是目前成功建起來的Site-To-Site VPN架構，兩地網路架構如下。</p>



<h3 class="wp-block-heading">左地（Ubiquiti EdgeRouter-X）</h3>



<ul class="wp-block-list">
<li>WAN: 中華電信PPPoE（浮動制）</li>



<li>LAN: 192.168.100.1/24</li>



<li>DDNS: home1.myddns（示範用，非真實域名）</li>
</ul>



<h3 class="wp-block-heading">右地（MikroTik RB750Gr3）</h3>



<ul class="wp-block-list">
<li>WAN: 中華電信PPPoE（浮動制）</li>



<li>LAN: 172.16.100.1/24</li>



<li>DDNS: home2.myddns（示範用，非真實域名）</li>
</ul>



<h3 class="wp-block-heading">目標</h3>



<ul class="wp-block-list">
<li>左地設備連到172.16.100.0/24網段時，透過IPSec Tunnel連至右地；其餘上網功能直接上Internet</li>



<li>右地設備連到192.168.100.0/24網段時，透過IPSec Tunnel連至左地；其餘上網功能直接上Internet</li>
</ul>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="517" src="https://kaffa9.com/wp-content/uploads/2023/07/image-1024x517.png" alt="" class="wp-image-781" srcset="https://blog.acm.idv.tw/wp-content/uploads/2023/07/image-1024x517.png 1024w, https://blog.acm.idv.tw/wp-content/uploads/2023/07/image-300x152.png 300w, https://blog.acm.idv.tw/wp-content/uploads/2023/07/image-768x388.png 768w, https://blog.acm.idv.tw/wp-content/uploads/2023/07/image-534x270.png 534w, https://blog.acm.idv.tw/wp-content/uploads/2023/07/image.png 1150w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<span id="more-780"></span>



<h2 class="wp-block-heading">左地設定（Ubiquiti EdgeRouter-X）</h2>



<p>原則上直接參考官方文件：<a rel="noreferrer noopener" href="https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs" data-type="URL" data-id="https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs" target="_blank">https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs</a> 的ER-L設定。這邊非常簡單，直接照著文件操作即可，只差在網段要照自己實際網路設定來填寫，IPSec協議的Pre-shared secret、加密、DH Group則依自己喜好設定（或照著文件設定亦可）。</p>



<h3 class="wp-block-heading">設定步驟</h3>



<ol class="wp-block-list">
<li>開啟EdgeRouter Web UI（https://192.168.100.1）</li>



<li>進入VPN 頁面、IPSec Site-to-Site頁籤</li>



<li>點擊+Add Peer，勾選Show advanced options，勾選Automatically open firewall and exclude from NAT，並填入以下資料：
<ul class="wp-block-list">
<li>Peer: home2.myddns（填入右地FQDN或IP）</li>



<li>Description: To-MikroTik</li>



<li>Local IP: 0.0.0.0</li>



<li>Encryption: AES-128</li>



<li>Hash: SHA1</li>



<li>DH Group: 14</li>



<li>Pre-shared Secret: ilovevpn@9527（填入夠安全的密鑰）</li>



<li>Local subnet: 192.168.100.0/24（左地網段）</li>



<li>Remote subnet: 172.16.100.0/24（右地網段）</li>
</ul>
</li>



<li>點Apply套用設定</li>
</ol>



<p>接下來可以繼續右地（MikroTik）設定。</p>



<h2 class="wp-block-heading">右地設定（MikroTik BR750Gr3）</h2>



<p>右地的設定一樣可以參照MikroTik官方文件：<a rel="noreferrer noopener" href="https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/" data-type="URL" data-id="https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/" target="_blank">https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/</a> 的Site A設定。MikroTik在功能設計上拆分的比較細，所以相對比EdgeRouter來得複雜，但一樣照著文件做即可。</p>



<h3 class="wp-block-heading">設定步驟</h3>



<ol class="wp-block-list">
<li>建立Profile
<ul class="wp-block-list">
<li>在IP→IPSec頁面，Profile頁籤，點擊新增或修改既有的Default Profile，加密演算法至少要把左地設定值裡的勾起來，如：AES-128、modp2048（=DH Group 14），按OK</li>
</ul>
</li>



<li>建立Proposals
<ul class="wp-block-list">
<li>在IP→IPSec頁面，Proposal頁籤，點擊新增或修改既有的Default Proposal，雜湊和加密演算法至少要把左地設定值裡的勾起來，如：sha1、aes-128 cbc，按OK</li>
</ul>
</li>



<li>建立Peers
<ul class="wp-block-list">
<li>在IP→IPSec頁面，Peer頁籤，點擊新增，填寫以下資訊，按OK：
<ul class="wp-block-list">
<li>Name: To-EdgeRouter</li>



<li>Address: home1.myddns</li>



<li>Port: 500 （預設值，不更動）</li>
</ul>
</li>
</ul>
</li>



<li>建立Identities
<ul class="wp-block-list">
<li>在IP→IPSec頁面，Identities頁籤，點擊新增，填寫以下資訊，按OK：
<ul class="wp-block-list">
<li>Peer: 選擇剛剛建立的Peer（例：To-EdgeRouter）</li>



<li>Secret: 填入左地的Pre-shared secret（例：ilovevpn@9527）</li>
</ul>
</li>
</ul>
</li>



<li>建立Policies
<ul class="wp-block-list">
<li>在IP→IPSec頁面，Policies頁籤，點擊新增，填寫以下資訊，按OK：
<ul class="wp-block-list">
<li>Peer: 選擇剛剛建立的Peer（例：To-EdgeRouter）</li>



<li>Tunnel: 打勾</li>



<li>Src. Address: 172.16.100.0/24</li>



<li>Dst. Address: 192.168.100.0/24</li>
</ul>
</li>
</ul>
</li>



<li>建立NAT規則
<ul class="wp-block-list">
<li>在IP→Firewall頁面，NAT頁籤，新增規則，按OK：
<ul class="wp-block-list">
<li>Src. Address: 172.16.100.0/24</li>



<li>Dst. Address: 192.168.100.0/24</li>



<li>Action: Accept</li>
</ul>
</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading">測試</h2>



<p>若在RouterOS的IPSec頁面，看到Peer已經是established狀態，原則上IPSec Tunnel就已經建立；EdgeRouter的Web UI看不出連線狀態，要在Terminal下指令<code>show vpn ipsec sa</code>觀察。</p>



<p>若要用ping指令測試，由於EdgeRouter會阻擋WAN端的ICMP封包，所以建議找一台同網段下的其他機器當ping的標的；RouterOS預設出廠不會阻擋WAN端ICMP封包，則可以用來當標的，例如：ping 172.16.100.1。</p>



<h3 class="wp-block-heading">左→右</h3>



<p>測試Windows RDP遠端連線，操作順暢，檔案傳輸至少有5MB/s。</p>



<h3 class="wp-block-heading">右→左</h3>



<p>測試SSH/SFTP連線，操作順暢，檔案傳輸正常。</p>



<h3 class="wp-block-heading">斷線與PPPoE重撥測試（WAN IP改變）</h3>



<p>測試正常，但需要給予一點時間進行DDNS更新以及IPSec Tunnel重建。</p>



<h2 class="wp-block-heading">參考資料</h2>



<ul class="wp-block-list">
<li>EdgeRouter Dynamic Site-to-Site IPsec VPN using FQDNs &#8211; <a rel="noreferrer noopener" href="https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs" data-type="URL" data-id="https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs" target="_blank">https://help.ui.com/hc/en-us/articles/115011373628-EdgeRouter-Dynamic-Site-to-Site-IPsec-VPN-using-FQDNs</a></li>



<li>MikroTik RouterOS IPSec Site-to-Site VPN Configuration &#8211; <a rel="noreferrer noopener" href="https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/" data-type="URL" data-id="https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/" target="_blank">https://mikrotrik.com/ipsec-site-to-site-vpn-configuration/</a></li>



<li>DH Group &#8211; <a rel="noreferrer noopener" href="https://www.juniper.net/documentation/us/en/software/junos/vpn-ipsec/topics/ref/statement/security-edit-dh-group.html" data-type="URL" data-id="https://www.juniper.net/documentation/us/en/software/junos/vpn-ipsec/topics/ref/statement/security-edit-dh-group.html" target="_blank">https://www.juniper.net/documentation/us/en/software/junos/vpn-ipsec/topics/ref/statement/security-edit-dh-group.html</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.acm.idv.tw/2023/07/16/edgerouter%e8%88%87mikrotik%e4%b9%8b%e9%96%93%e7%9a%84site-to-site-vpn-ipsec%e8%a8%ad%e5%ae%9a/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
