Mikrotik Routeros(ROS)回流設(shè)置(同網(wǎng)段)

網(wǎng)上教程很多,我主要說明局域網(wǎng)回流問題:
如下圖所示,使用命令:

在上述示例中,網(wǎng)關(guān)路由器的dst-nat配置規(guī)則命令,當(dāng)用戶從家中的PC連接到web服務(wù)器時,路由器按照配置進(jìn)行DST NAT轉(zhuǎn)換:
客戶端發(fā)送源IP地址為192.168.88.1的報文到目的IP地址為172.16.16.1的443端口請求web資源;
路由器目的NAT將報文轉(zhuǎn)換為10.0.0.3,并替換報文中的目的IP地址。源IP地址不變:192.168.88.1;
服務(wù)器響應(yīng)客戶端的請求,響應(yīng)報文的源IP地址為10.0.0.3,目的IP地址為192.168.88.1。
路由器判斷該數(shù)據(jù)包是以前連接的一部分,并取消目的NAT,將原始目的IP地址放入源IP地址字段。目的地址為192.168.88.1,源地址為172.16.16.1;5. 客戶端收到預(yù)期的應(yīng)答包,連接建立本地IP: 10.0.0.2/24公共IP:192.168.88.1
網(wǎng)上大部分教程,通過上述方法,說明回流操作。并且通過腳本或者DDNS獲取公網(wǎng)IP。
實際上通過上方操作,如果你內(nèi)部的服務(wù)器和你內(nèi)部網(wǎng)絡(luò)不是同一個網(wǎng)段,可以正常做回流訪問,但是如果同一個網(wǎng)段,回流操作就會失效。
具體原因,官方文檔已經(jīng)說明:
但是,當(dāng)與web服務(wù)器在同一網(wǎng)絡(luò)上的客戶端請求連接到web服務(wù)器的公共IP地址時,會出現(xiàn)問題:
客戶端發(fā)送源IP地址為10.0.0.2的報文到目的IP地址為172.16.16.1的443端口請求web資源;
?路由器的目的地址將報文nat為10.0.0.3,并替換報文中的目的地址。源IP地址保持不變:10.0.0.2;
服務(wù)器響應(yīng)客戶端的請求。但是,請求的源IP地址與web服務(wù)器在同一子網(wǎng)內(nèi)。web服務(wù)器不將應(yīng)答發(fā)送回路由器,而是直接發(fā)送回10.0.0.2,在10.0.0.3的應(yīng)答中包含源IP地址;
客戶端收到了應(yīng)答報文,但是丟棄了應(yīng)答報文,因為客戶端希望收到來自172.16.16.1的應(yīng)答報文,而不是來自10.0.0.3的應(yīng)答報文;

本文的重點:
解決方法就是添加多一條規(guī)則,讓內(nèi)部報文返回內(nèi)部的地址:
配置上述規(guī)則后:
客戶端發(fā)送源IP地址為10.0.0.2的報文到目的IP地址為172.16.16.1的443端口請求web資源;
路由器的目的地址將報文nat為10.0.0.3,并替換報文中的目的地址。它還對數(shù)據(jù)包進(jìn)行源nat,并用其LAN上的IP地址替換數(shù)據(jù)包中的源IP地址。接口。目的地址為10.0.0.3,源地址為10.0.0.1;
web服務(wù)器響應(yīng)請求,將源IP地址為10.0.0.3的應(yīng)答發(fā)送回路由器的局域網(wǎng)接口IP地址10.0.0.1;
路由器判斷該報文是以前連接的一部分,取消源NAT和目的NAT,將10.0.0.3的原始目的IP地址和原始源IP地址放入源IP地址字段在目的IP地址字段中輸入172.16.16.1的IP地址