IPSec 的兩種工作模式:隧道(ip tunnel)模式和傳輸(ip transport)模式。簡單的來說,隧道模式用於網關和網關之間的點對點連接;傳輸模式用於網關和電腦之間的點對點連接。具體的請自行百度。
本教程主要是RouterOS(以下簡稱ROS)通過IPsec隧道模式(IP tunnel)實現點對點互連。
一、網絡拓撲
以下是一個使用 ROS實現IPsec點對點互連的案例。
網絡拓撲:PC1(10.0.0.100) --- (10.0.0.1)R1(121.236.80.94) --- 互聯網 --- (117.62.85.3)R2(192.168.88.1)---(192.168.88.254)PC2
二、R1路由器設置
1、IP tunnel設置:Winbox --> Interface,IP Tunnel選項卡,點擊+
Remote Address填入R2外網ip地址,如117.62.85.3,點擊OK
2、Winbox --> IP --> Firewall,NAT選項卡,點擊+
Chain選擇srcnat
Src. Address填入R1內網網段,如案列中R1的內網網段10.0.0.0/23
Dst. Address填入R2內網網段,如案列中R2的內網網段192.168.88.0/24
切換到Action選項卡,action選擇accept,點擊OK
注意:該條規則要在masquerade規則的上面
3、Winbox --> IP --> Firewall,NAT選項卡,修改上網的masquerade規則
Chain還是srcnat
Src. Address填入R1的內網網段,如案列中R1的內網網段10.0.0.0/23
切換到Action選項卡,action還是選擇masquerade,點擊OK
4、添加路由表,Winbox --> IP --> Routes,點擊+
Dst. Address填入R2的內網ip網段,如192.168.88.0/24
Gateway選擇剛纔創建額ipip-tunnel1,點擊OK
三、R2路由器設置
1、IP tunnel設置:Winbox --> Interface,IP Tunnel選項卡,點擊+
Remote Address填入R1外網ip地址,如121.236.80.94,點擊OK
2、Winbox --> IP --> Firewall,NAT選項卡,點擊+
Chain選擇srcnat
Src. Address填入R2內網網段,如案列中R2的內網網段192.168.88.0/24
Dst. Address填入R1內網網段,如案列中R1的內網網段10.0.0.0/23
切換到Action選項卡,action選擇accept,點擊OK
注意:該條規則要在masquerade規則的上面
3、Winbox --> IP --> Firewall,NAT選項卡,修改上網的masquerade規則
Chain還是srcnat
Src. Address填入R1的內網網段,如案列中R1的內網網段192.188.88.0/24
切換到Action選項卡,action還是選擇masquerade,點擊OK
4、添加路由表,Winbox --> IP --> Routes,點擊+
Dst. Address填入R1的內網ip網段,如10.0.0.0/23
Gateway選擇剛纔創建額ipip-tunnel1,點擊OK
四、動態IP實現自動修改
1、2個ROS做DDNS動態ip自動更新,具體實現方法請看《RouterOS利用DNSPOD的API接口實現DDNS動態解析》
2、2個ROS分別在Winbox --> IP --> Firewall,Address-list選項卡,點擊+
Name,隨便輸入,如ipaddr
Address,填入對方的DDNS動態域名
3、定時腳本設置,Winbox --> system --> Scheduler,點擊+
Name隨便填
Interval腳本定時執行間隔,不建議設置太小
On Event:填入腳本
:global ipaddr :local r2ip [/ip firewall address-list get [/ip firewall address-list find comment="ros.myxzy.com"] address] :if ($r2ip != $ipaddr) do={ /interface ipip set ipip-tunnel1 remote-address=$r2ip :set ipaddr $r2ip :log info "IPIP UPDATE!" }
另一個ROS也需要設置。
存在的問題,如果其中一個IP變更,由於DDNS的生效時間,可能會導致IP tunnel中斷一段比較長的時間。我這邊測試大概是1~2分鐘左右(DDNS動態域名是TTL 10)。
五、Ping測試
至此,2個ROS已經通過IP Tunnel互通了,內網電腦可以互訪了。