Linux

Openvpn 路由和配置推送問題

  • April 3, 2018

我最近從https://github.com/kylemanna/docker-openvpn在 docker 容器中的 GCP 上安裝了一個 openvpn 伺服器。

docker-host 啟用了數據包轉發。

現在我正在為配置而苦苦掙扎。我可以使用我的 openvpn 客戶端連接到伺服器,但我不能通過 vpn 路由所有流量或根本沒有流量。

這是我的配置:

server 172.21.208.0 255.255.248.0
verb 3
key /etc/openvpn/pki/private/mycompany.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/mycompany.net.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
key-direction 0
keepalive 10 60
persist-key
persist-tun

proto udp
# Rely on Docker to do port mapping, internally always 1194
port 1194
dev tun
status /tmp/openvpn-status.log

user nobody
group nogroup

### Route Configurations Below
route 10.250.0.0 255.255.255.0

### Push Configurations Below
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route 10.250.0.0 255.255.255.0"

我這裡有兩個問題:

  1. 在推送之前,我不明白我應該在底部的本地路線中放置什麼。
  2. “redirect-gateway def1”已添加到 client.ovpn,但我沒有看到任何控制 tat 行為的配置。如果我不從 client.ovpn 中刪除它,所有流量都通過 vpn 路由,但我只需要路由 10.250.0.0/24 並直接通過我的本地網關訪問所有其他地址。

我需要 vpn 連接才能到達 openvpn 伺服器所在子網中的機器,僅此而已。我不需要從 GCP 訪問我的本地網路,但我知道我需要一條路由將數據包發送回客戶端(因此對該路由指令感到困惑)。

我的本地網路有 C 類私有地址 (192.168.xx) 遠端子網有 cidr 10.250.0.0/24 vpn 客戶端和伺服器獲得 B 類地址 (172.21.208.0/21)

最後,dockerized openvpn 有很多很好的幫助腳本,它們負責大多數配置。我通過仔細閱讀這些腳本的文件找到了解決方案。

引用自:https://unix.stackexchange.com/questions/434147