OpenVPN 客户端到 SSH 到 EC2 私有实例
OpenVPN client to SSH to EC2 private instance
我是 运行 社区 OpenVPN 服务器(在 CIS Level 1 RHEL 7 上)实例,我可以毫无问题地从笔记本电脑连接它。连接后,我可以使用私有 IP 通过 SSH 连接到 OpenVPN 服务器实例,但不能使用其他任何东西。同一子网中甚至没有不同的实例。假设我的 VPN 服务器在:10.100.0.0/28
子网中,VPN 客户端子网是:192.168.10.0/24
并且我希望通过 SSH 连接到 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
除此之外,
- 将
net.ipv4.ip_forward = 1
添加到 /etc/sysctl.conf
- 已禁用source/destination检查 VPN 实例
- 添加到 VPC 路由 table 的静态路由 目的地:
192.168.10.0/24
,目标 ENI 附加到 VPN 实例
- 在目标实例的 SG 中添加了入口规则以允许端口 22 上的 vpn-client 子网
- 还没有涉及 NACL(但必须在某个时候启用它)
还有什么没做或做错的??我真的被困住了,知道我错过了一些非常愚蠢的事情。谁能帮我遮光或指出正确的方向?
-S
找出它不起作用的原因。这两行:
route 10.100.0.16 255.255.255.240
route 10.100.0.32 255.255.255.240
在配置文件中导致了问题。没有这些,它会毫无问题地向下游转发流量。我对 route ...
和 push "route ...
上的 OpenVPN 文档感到有点困惑,所以不太确定为什么这两行会导致连接问题。所以,如果有人能对此有所了解,我们将不胜感激。
我是 运行 社区 OpenVPN 服务器(在 CIS Level 1 RHEL 7 上)实例,我可以毫无问题地从笔记本电脑连接它。连接后,我可以使用私有 IP 通过 SSH 连接到 OpenVPN 服务器实例,但不能使用其他任何东西。同一子网中甚至没有不同的实例。假设我的 VPN 服务器在:10.100.0.0/28
子网中,VPN 客户端子网是:192.168.10.0/24
并且我希望通过 SSH 连接到 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
除此之外,
- 将
net.ipv4.ip_forward = 1
添加到/etc/sysctl.conf
- 已禁用source/destination检查 VPN 实例
- 添加到 VPC 路由 table 的静态路由 目的地:
192.168.10.0/24
,目标 ENI 附加到 VPN 实例 - 在目标实例的 SG 中添加了入口规则以允许端口 22 上的 vpn-client 子网
- 还没有涉及 NACL(但必须在某个时候启用它)
还有什么没做或做错的??我真的被困住了,知道我错过了一些非常愚蠢的事情。谁能帮我遮光或指出正确的方向?
-S
找出它不起作用的原因。这两行:
route 10.100.0.16 255.255.255.240
route 10.100.0.32 255.255.255.240
在配置文件中导致了问题。没有这些,它会毫无问题地向下游转发流量。我对 route ...
和 push "route ...
上的 OpenVPN 文档感到有点困惑,所以不太确定为什么这两行会导致连接问题。所以,如果有人能对此有所了解,我们将不胜感激。