Local network / EC2 Cloud,10.*.*.*/255.0.0.0 172.16.20.*/,' 255.255.255.0,' +-----------------+ .' |Amazon DNS server| |,'| 172.16.0.23 | +---------------+ |,' +-----------------+ | Workstation | |,' | XXX | +-------,'------+ | 172.16.20.1 | XXXX | OpenVPN server| +------`.-------+ \ XX 10.23.45.67 `-. +-------------+ \ '. +---------------+ `-. Second server +--------`.---+ | | 10.23.45.68 | |Local server | \ +-------------+ | 172.16.20.2 | \ +-------------+ \
客户端可以连接到VPN(甚至在iPhone上),但是我无法全面了解我需要检查哪些子系统.
以下是我的设置目标:
> VPN客户端应该能够通过VPN访问内部资源,其余的Internet应该通过本地网关路由
> VPN客户端应该能够访问OpenVPN服务器可以访问的所有服务器
> VPN客户端应使用172.16.0.23的Amazon DNS服务器作为其主DNS服务器,因为该服务器将Amazon生成的主机名解析为内部IP地址(即ec2-45-67-8-9.eu-west-1.compute.当该服务器解析时,amazonaws.com将解析为10.23.45.67,而其他地方则为45.67.8.9)
> VPN客户端应该看到对方
这是我配置/etc/openvpn/server.conf的方式(我希望这只是有趣的部分):
persist-tun server 172.16.10.0 255.255.255.0 push "route-gateway 172.16.10.1" push "route 10.0.0.0 255.0.0.0" push "route 172.16.0.23" push "dhcp-option DNS 172.16.0.23"
但是,我不确定这些openvpn服务器的哪些部分对我有用:
>我是否需要在服务器上配置iptables?如果是这样,怎么样?
>我是否需要在服务器上设置路由(除了被推送到客户端的路由)?如果是这样,哪个以及如何?
>我遗漏了哪些其他网络软件导致我的客户无法成功连接?
# there is probably already a rule allowing all established connections # iptables -A FORWARD -m conntrack --ctstate ESTABLISHED -j ACCEPT # the next rules for every OpenVPN interface (or once for the respective address block) iptables -A FORWARD -i tun0 -d 10.0.0.0/8 -j ACCEPT iptables -A FORWARD -i tun0 -d 172.16.0.23 -j ACCEPT # if the local network shall be accessible # iptables -A FORWARD -i tun0 -d 172.16.20.0/24 -j ACCEPT
如果只是简单的客户端连接,则无需在服务器上设置路由.如果172.16.20.1连接为本地网络的网关,则需要172.16.20.0/24的路由,但这可能(并且最好)在172.16.20.1的OpenVPN配置中设置.
编辑1
如果您无法在某些系统上配置路由,并且它们的路由不会以正确的方式发送流量,那么您需要NAT(更精确:SNAT):
iptables -t nat -A POSTROUTING -d $PROBLEM_HOST_IP \! -s $LOCAL_IP \ -j SNAT --to-source $LOCAL_IP
相应地设置变量.假设您可以在172.16.20.0/24中为目标设置正确的路由,那么您可以通过这种方式更轻松地执行此操作:
iptables -t nat -I POSTROUTING 1 -s $LOCAL_IP -j ACCEPT iptables -t nat -I POSTROUTING 2 -d 172.16.20.0/24 -j ACCEPT iptables -t nat -I POSTROUTING 3 -j SNAT --to-source $LOCAL_IP
原文地址:https://www.jb51.cc/ubuntu/348023.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。