当前位置: 首页 > 知识库问答 >
问题:

OpenVPN客户端SSHEC2私有实例

茅和玉
2023-03-14

我正在运行社区OpenVPN服务器(在CIS级RHEL 7上)实例,我可以从我的笔记本电脑连接它,没有任何问题。在连接的同时,我可以使用私有IP SSH到OpenVPN服务器实例,但除此之外什么也做不了。甚至不是同一子网中的不同实例。假设我的VPN服务器在< code>10.100.0.0/28子网中,VPN客户端子网是:< code>192.168.10.0/24,并且我希望SSH到< code>10.100.0.16/28中的实例。这是我在服务器配置中的部分:

push "redirect-gateway def1 bypass-dhcp"
push "route 10.100.0.16 255.255.255.240"
push "route 10.100.0.32 255.255.255.240"
;push "route 10.100.0.0 255.255.240.0"
route 10.100.0.16 255.255.255.240
route 10.100.0.32 255.255.255.240
;route 10.100.0.0 255.255.240.0
server 192.168.10.0 255.255.255.0

我添加了这些iptables规则以允许VPN流量:

## allow udp 1194
iptables -A INPUT -p udp -m udp --dport 1194 -m state --state NEW -j ACCEPT -i eth0

## Allow TUN interface
iptables -A INPUT -i tun+ -j ACCEPT

## Allow TUN connections to be forwarded
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT

## NAT the VPN client traffic to the Internet
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

## default TUN OUTPUT
iptables -A OUTPUT -o tun+ -j ACCEPT

除此之外,

    < li >将< code > net . IP v4 . IP _ forward = 1 添加到< code >/etc/sysctl . conf < li >在VPN实例上禁用源/目标检查 < li >将静态路由添加到VPC路由表,目的地:< code>192.168.10.0/24,目标是连接到VPN实例的ENI < li >在目标实例的SG中添加了入口规则,以允许端口22上的vpn客户端子网 < li >还没有涉及NACL(但是必须在某个时候启用)

还有什么没有做错或做错的??我真的被卡住了,我知道我错过了一些非常愚蠢的事情。谁能给我遮光或给我指个方向?

-S

共有1个答案

华宣
2023-03-14

弄清楚它为什么不工作。这两行:

route 10.100.0.16 255.255.255.240
route 10.100.0.32 255.255.255.240

配置文件中的问题。如果没有这些,它将毫无问题地向下游转发流量。尽管我对OpenVPN文档中有关路由push“路由…的内容有点困惑,所以我不太确定这两条线路为什么会导致连接问题。因此,如果有人能对此有所了解,我们将不胜感激。

 类似资料:
  • 我在 CloudSQL Postgres 实例上使用 psql 客户端连接时遇到问题。我按照文档 https://cloud.google.com/sql/docs/postgres/connect-admin-proxy 进行操作。 我已启用云SQL管理API 我使用我的凭据SDK Cloud,他们拥有所有的权限,我已经设置了一个好的项目: 接下来,我启动了以下项目: 要使用TCP套接字进行测试

  • 我们的业务场景是: 1、客户通过windows电脑访问远程网关(我司的硬件设备)、也包括与网关可以通信的所有设备。也就是通过搭建vpn环境实现 openvpn客户端A(windows) 访问 硬件网关B的内网环境(linux),单向的A->B。 2、其次还需要支持客户端A能同时支持多路,即同时访问多个硬件网关的内网环境。 3、另外要特别说明的是硬件网关的网段不确定,lan/wan的ip客户是可以直

  • 我有一台阿里云服务器,作为openvpn server 有两个openvpn客户端,clientA是windows系统,clientB是linux系统。如何做才能让clientA直接访问clientB的内网。比如与clientB直连的设备(192.168.2.100,lan口直连)、或处在同一wifi下的其他设备(192.168.16.124,wifi)? 这种场景可以实现吗,server是不能直

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 我一直在使用FTP客户端java实现。我所要做的就是连接到FTP服务器并将一个文件传输到服务器。 我设法与ftp服务器建立了连接(见下面的代码),之后我使用PASV命令进入了被动模式。现在我不知道下一步该做什么。我尝试在PASV命令之后制作一个新套接字并将其连接到FTP服务器端口20,但没有成功。 我的问题是建立连接时如何启动文件传输?(我的想法是与端口20建立连接并执行STOR命令,但我不知道如

  • 1.java是否存在内存泄漏 2.ThreadLocal讲一讲问什么会存在内存泄露 3.ThreadLocal的作用 4.单例模式为什么需要双重检查锁 5.java类加载过程 6.Https如何保证数据传输安全的 7.拥塞阻塞 8.64位计算机和32位计算机核心区别 9.一个字节一定是8位吗 10.为什么会使用mongoDB 为什么快 11.java中的乐观锁和悲观锁 12.CAS操作 13.客户