Amazon-Ec2
使用普通 OpenVPN 將本地子網雙向連接到 VPS 伺服器
假設我們有一個本地子網
192.168.1.0/24
,需要通過10.8.0.0/24
使用 OpenVPN 創建的子網雙向連接到任何 VPS(Amazon EC2、Linode、Vultr 等)上的機器。其中一部分已經完成。使用 TUN 連接 VPS 機器非常簡單。我們還使用配置文件中的以下命令成功地為其授予了對本地子網的訪問權限:
route 192.168.1.0 255.255.255.0
它現在可以連接到該本地子網中的任何電腦。問題在於反過來連接。本地機器找不到任何通往 VPS 伺服器的路由。
應該將什麼配置添加到 VPS 機器或本地 OpenVPN 伺服器以允許從到
192.168.1.3
路由?根據我們的實際配置,無法到達目的地。192.168.1.10``10.8.0.10``traceroute
這是駐留在伺服器上的配置文件的概述
local 192.168.1.3 port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem auth SHA512 tls-crypt tc.key topology subnet server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt max-clients 1 route 192.168.1.0 255.255.255.0 192.168.1.1 push "dhcp-option DNS 1.1.1.1" push "dhcp-option DNS 1.0.0.1" keepalive 10 120 cipher AES-256-CBC user nobody group nobody persist-key persist-tun status openvpn-status.log verb 3 crl-verify crl.pem explicit-exit-notify [... certificates here ...]
這是客戶端的配置:
client dev tun proto udp remote [... our VPN's public address ...] 1194 resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server auth SHA512 cipher AES-256-CBC ignore-unknown-option block-outside-dns block-outside-dns verb 3 route 192.168.1.0 255.255.255.0 [... certificates here ...]
是關於ip轉發的…
執行 CentOS 7 的 VPS 伺服器只需要這樣設置:
echo 'net.ipv4.ip_forward=1' >> /etc/systctl.conf
然後重新啟動。
這是在VPC Subnet RouteTable中完成的。您必須
10.8.0.0/24
通過 OpenVPN EC2 實例添加路由:您還需要為實例禁用源/目標檢查,否則 AWS 將不允許 EC2 實例 IP 到它的任何其他 IP 的流量。
然後當然你必須打開實例安全組,如果適用的話,它的本地防火牆(例如
iptables
)允許10.8.0.0/24
.希望有幫助:)