首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程连接OpenVPN

远程连接OpenVPN
EN

Ask Ubuntu用户
提问于 2016-03-11 17:04:21
回答 1查看 425关注 0票数 0

我有一个在家里运行的Ubuntu服务器,它连接到一个OpenVPN服务器。OpenVPN远程地址是176.126.237.214,带有端口25000。这个隧道连接将我的公共IP更改为由我的OpenVPN服务器发出的IP。目前,我无法远程连接到我的个人Ubuntu服务器。我已经尝试过用端口192.168.1.11打开服务器使用的端口8882。如何远程SSH连接到我的个人服务器?

EN

回答 1

Ask Ubuntu用户

发布于 2016-08-05 03:38:07

那么您想要使用服务器的原始(非VPN) IP地址进行连接吗?

问题是默认网关会被OpenVPN更改,从而破坏任何来自非VPN接口的连接。Linux将发送响应的数据包,在真正的接口上进来的VPN接口!在启动OpenVPN之前,您需要设置适当的路由。

下面的内容对我有用。它使用iptables和ip (iproute2)。下面假设启动OpenVPN之前的默认网关接口是"eth0“。这样做的目的是确保在建立到eth0的连接时,即使eth0不再是默认的网关接口,连接的响应数据包也会再次回到eth0上。

连接标记、防火墙标记和路由表可以使用相同的号码。我用不同的数字使它们之间的差别更加明显。

代码语言:javascript
复制
# set "connection" mark of connection from eth0 when first packet of connection arrives
sudo iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1234

# set "firewall" mark for response packets in connection with our connection mark
sudo iptables -t mangle -A OUTPUT -m connmark --mark 1234 -j MARK --set-mark 4321

# our routing table with eth0 as gateway interface
sudo ip route add default dev eth0 table 3412

# route packets with our firewall mark using our routing table
sudo ip rule add fwmark 4321 table 3412

===

更新:

以上对我来说对很好。但是在一个旧的Wheezy系统上,我刚刚发现我需要在路由表条目中添加"via“:

代码语言:javascript
复制
# our routing table with eth0 as gateway interface
sudo ip route add default dev eth0 via 12.345.67.89 table 3412

"12.345.67.89“必须是原来的非VPN网关。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/744771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档