Linux

兩端帶有 mikrotik 和 NAT 的 OpenVPN tun 路由(可以 ping tun 介面)

  • September 16, 2014

問題

Mikrotik 站點無法 ping 伺服器站點上的任何內容。伺服器站點現在不那麼重要了。


OpenVPN 伺服器配置在 LINUX 上

port 1194
proto tcp
dev tun
ca ca.crt
cert cert.crt
key cert.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
puch route 192.168.0.0 255.255.255.0
client-to-client
keepalive 10 120
persist-key
persist-tun
ver 3
mute 20

ipv4_fowarding 已啟用

Open VPN Client 位於 Mikrotik Router 上

connect to: server.public.ip
port: 1194
mode: ip
user: user
password: passwrd
profile: openvpn-out
cert: cert
auth: sha1
cipher: blowfish 128

**openvpn-out profile**
name: openvpn-out
change tcp mss: default
use mpls: default
use compression: default
use vj compression: default
use encryption: default

使用 mikrotik 提供的這些設置:連接已建立,所有應該在 mikrotik 本身上工作的東西

  1. 從 mikrotik 路由器我無法 ping TUN 介面 (10.8.0.2) 伺服器,但可以 ping 自己的 TUN (10.8.0.46) 和伺服器站點 (192.168.0.0) 上的子網

  2. Mikrotik 站點子網的客戶端無法 ping 伺服器站點上的任何內容,只有 mikrotik (10.8.0.46) 上的 TUN 介面

  3. 從伺服器我可以 ping Mikrotik (10.8.0.46) 的 TUN 介面,但不能在該站點 (192.168.2.0) 上進行子網劃分

  4. 來自伺服器的子網客戶端無法在 Mikrotik 站點上 ping 任何東西,只有 Mikrotik 和伺服器上的 TUN 介面

Mikrotik 界面

ether1 - dynamic.ip.addres
OPVN - 10.8.0.46 network 10.8.0.45
bridge1 - 192.168.2.1/24

米克羅蒂克路線:

  ds.address  gw 
   0.0.0.0/0   public.ip.address reachable ether1
   10.8.0.0/24 10.8.0.45 reachable OVPN
   10.8.0.45   OVPN reachable 
   public.ip   ether1 reachable 
   192.168.0.0/24 OVPN reachable 
   192.168.2.0/24 bridge1 reachable

Mikrotik ping 192.168.0.0 沒有問題 mikrotik 的客戶端不能

伺服器介面

eth0 - public.ip.addre
eth1 - 192.168.0.9
tun0 - 10.8.0.1 p-t-p:10.8.0.2

伺服器路由:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         public.ip.addre 0.0.0.0         UG    100    0        0 eth0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
localnet        *               255.255.255.252 U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.2.0     10.8.0.1        255.255.255.0   UG    0      0        0 tun0

伺服器無法 ping 192.168.2.0,ping 10.8.0.46。伺服器客戶端僅 ping 10.8.0.46

我假設 iptables 以某種方式正確設置,因為已建立連接並且 mikrotik 可以 ping 其他站點上的任何內容。

mikrotik nat 規則

srcnat -o ether1 -acction masquerade

解決方案

在 OPVN 的 Mikrotik nat 上失去:

srcnat -o OPVN -acction masquerade

這解決了 Mikrotik 網站上的問題

如果您只想從 Mikrotik 訪問另一個站點的子網,您確實可以在 Mikrotik 上使用 NAT 規則。從您的文章中,我了解到您正在嘗試設置站點到站點 VPN,儘管您希望從兩個站點訪問兩個子網。

為此,您只需要在連接的兩側都設置正確的路由表和防火牆。嘗試將到 192.168.2.0 的路由的網關從 10.8.0.1 更改為 10.8 範圍內的 Mikrotik 的地址。由於您的 Mikrotik 是該子網的網關,而不是您自己的位於 10.8.0.1 上的 Linux 伺服器。

引用自:https://serverfault.com/questions/599086