∮Ω奧米加空間∮»MikroTik RouterOS»【教學】VPN server L2TP 設定教學
作者 |
主題 |
dc
管理員

性別:男
來自:瓦肯星
發表總數:11098
註冊時間:2002-05-07 16:32 |
(第 1 篇) 【教學】VPN server L2TP 設定教學
資料來源:蜥蝪遇水寒
全程是在 Terminal 模式底下的指令
建立VPN IP Pool方便控管
/ip pool
add name=L2TP_VPN ranges=192.168.88.161-192.168.88.170
建立VPN Profile,use-encryption必須要是required或是Yes,否則有可能無法連線,如果只是要存取內網的資源,DNS可以不必填,而如果是經過VPN上網或翻牆,DNS一定要填。
/ppp profile
add local-address=192.168.88.1 name=L2TP_Profile remote-address=L2TP_VPN use-encryption=required
建立VPN使用者帳號與密碼
/ppp secret
add name=***** password=***** profile=L2TP_Profile service=l2tp
啟動L2TP server,L2TP需指定預先共享金鑰。
/interface l2tp-server server
set default-profile=L2TP_Profile enabled=yes ipsec-secret=***** use-ipsec=yes
開啟對應的防火牆L2TP則是udp port 1701/500/4500。
/ip firewall address-list
add address=192.168.88.161-192.168.88.180 list=VPN
/ip firewall filter
add action=accept chain=input comment="Accept L2TP VPN" dst-port=1701,500,4500 in-interface=PPPoE_S protocol=udp
若遇到VPN連線後無法Ping到LAN裡面其他裝置的問題,需做IP偽裝。
/ip firewall address-list
add address=192.168.88.161-192.168.88.180 list=VPN
/ip firewall nat
add action=masquerade chain=srcnat comment="VPN NAT" dst-address-list=!VPN src-address-list=VPN
搭配圖文說明會比較容易理解~但我內網網段與教學的不太一樣就是了~
先到 IP -> Pool 建立 L2TP_VPN 連線進來的 IP 池範圍。

PPP -> Profiles -> 按下 + 建立
Name: L2TP_Profile
Local Address: 這裡設定的 IP 是你出口的 Gateway 地址
Remote Address: 這裡選的是我們前一步設定的 L2TP_VPN ,連進來的 IP 會配發這一個區段的 IP
Protocols -> Use Encryption -> 選擇 required -> OK

建立 VPN 使用者帳號與密碼
PPP -> Secrets -> 按下 + 建立
Name: 自訂使用者名稱
Password: 自訂使用者密碼
Service: 選擇 l2tp
Profile: 選擇前一步設定的 L2TP_Profile
-> OK

啟動L2TP server,L2TP 需指定預先共享金鑰
PPP -> Interface -> L2TP Server
Enabled 打勾
Default Profile: 選擇 L2TP_Profile
Use IPsec: 選擇 yes
IPsce Secret 自訂預設共享金鑰
Allow Fast Path 打勾
-> OK

開啟對應的防火牆 L2TP 則是udp port 1701/500/4500
先建立地址清單
IP -> Firewall -> Address Lists
Name: 我們設定為 VPN
Address: 為我們 L2TP_VPN Pool 的 IP 區段
-> OK

再開啟防火牆
IP -> Firewall -> Filter Rules -> 按下 + 建立
Chain: 選擇 input
Protocol: 選擇 17 (udp)
Dst. Port: 填入 1701,500,4500
In. Interface: 這裡選擇你的出口連線,我的是 pppor-out1 撥接出去的所以選擇他

-> Action
Action: 選擇 accept
-> 最後按下 OK
就完成設定了~
iPad 上的設定為
設定 -> VPN ->加入 VPN 設定
類型 選擇 L2TP
描述 設定自己知道的就好
伺服器 設定你的 RouterOS 外網 IP 也就是 Public ip
帳號 填我們剛剛建立的 l2tpuser1
密碼 填我們設定的密碼
密鑰 為 IPsce Secret 自訂預設共享金鑰
傳送所有流量 不必開啟~如果你要將對外的 Public ip 跟主機一樣的話再開啟~
選擇我們剛剛建立的 VPN 連線 -> 狀態那邊改成連線
第一次撥可以會出現主機沒有回應,沒關係撥第二次就會通了
Caller ID 會是你連線過來的 Public IP

Your mind to my mind,
your thought to my thought |
發表時間:2019-08-05 12:25 |
|
dc
管理員

性別:男
來自:瓦肯星
發表總數:11098
註冊時間:2002-05-07 16:32 |
(第 2 篇)
因為我們有開啟防火牆 udp 連入 1701,500,4500 所以在 log 裡會看到有人在 Try
建議可以參考這一篇 Scripts 應用範例 把那些 IP 加入黑名單拒絕連線
https://omega.idv.tw/kdb120/viewthread.php?threadid=4702#post14655
但那也是連線進來後撈取 log 來加入黑名單
所以目前想了一個笨方法
l2tp 登入都是走 udp 順序如下 ipsec 500 -> ipsec 4500 -> l2tp 1701
所以可以將
udp 500 連線先加入 vpn_login_list 保存 2 天 2d 00:00:00
udp 4500 1701 沒有在 vpn_login_list 一律記錄在 vpn_scan_ip 並阻擋 245d 00:00:00
但是如果連線2天一過,正常連線的就被加入 vpn_scan_ip....
在 IP -> Firewall -> Filter Rules 頁籤 -> 按下 +
General 頁籤 | Action 頁籤 |
Chain: 選擇 input | Action: 選擇 add src to address list | Protocol: 選擇 udp | Address List: 填入 vpn_login_list | Dst. Port: 填 500 | Timeout: 填入 2d 00:00:00 | In. Interface: 選擇 你的出口線路 | |
按下 OK
按下 +
General 頁籤 | Advanced 頁籤 | Action 頁籤 |
Chain: 選擇 input | Src. Address List: 前面方格按下去成 ! 後,填入 vpn_login_list | Action: 選擇 add src to address list | Protocol: 選擇 udp | | Address List: 填入 vpn_scan_ip | Dst. Port: 填 4500,1701 | | Timeout: 填入 245d 00:00:00 | In. Interface: 選擇 你的出口線路 | | |
按下 OK
按下 +
General 頁籤 | Advanced 頁籤 | Action 頁籤 |
Chain: 選擇 input | Src. Address List: 填入 vpn_scan_ip | Action: 選擇 drop | In. Interface: 選擇 你的出口線路 | | |
按下 OK
這樣對於沒有照順序連線的 IP就會被阻擋,因為還在實驗中後續會在更新~
Your mind to my mind,
your thought to my thought |
發表時間:2019-08-15 16:44 |
|
所有時間均為GMT+8, 現在是2025-03-17 00:26 |
|