【发布时间】:2021-01-04 19:59:09
【问题描述】:
我正在运行社区 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 - 在 VPN 实例上禁用源/目标检查
- 将静态路由添加到具有目标:
192.168.10.0/24的 VPC 路由表,目标指向附加到 VPN 实例的 ENI - 在目标实例的 SG 中添加入口规则以允许端口 22 上的 vpn-client 子网
- 目前还没有涉及 NACL(但必须在某个时候启用)
还有什么没做或做错的?我真的被困住了,知道我错过了一些非常愚蠢的事情。谁能遮住一些光线或指出正确的方向吗?
-S
【问题讨论】:
-
当您尝试连接到另一个实例时会发生什么?您收到错误消息还是最终超时?目标实例上的安全组是否配置为允许此类连接?
-
@JohnRotenstein,抱歉回复晚了。但我发现,由于这些行,它不起作用:
route 10.100.0.16 255.255.255.240和route 10.100.0.32 255.255.255.240在配置文件中。我评论它的那一刻,它就开始工作了。我对route和push route的文档感到有些困惑,所以不太确定为什么这两行会导致连接问题。
标签: amazon-web-services amazon-ec2 vpn amazon-vpc openvpn