cae*_*say 4 windows linux firewall routing openvpn
我使用 OpenVPN 服务器已经有一段时间了,我遇到了一个相当有趣的问题。我需要通过隧道重定向所有客户端流量,除了几个需要在本地解析的 IP 之外。我这样做的方式是从服务器推送这些路由:
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
Run Code Online (Sandbox Code Playgroud)
我看到转化为这些 Windows 路由:
Wed Aug 31 15:14:35 2011 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route 10.8.0.1,topology net30,ping 5,ping-restart 30,ifconfig 10.8.0.6 10.8.0.5'
Wed Aug 31 15:14:35 2011 ROUTE default_gateway=192.168.1.254
Wed Aug 31 15:14:40 2011 C:\WINDOWS\system32\route.exe ADD 199.[*.*.*] MASK 255.255.255.255 192.168.1.254
Wed Aug 31 15:14:40 2011 C:\WINDOWS\system32\route.exe ADD 0.0.0.0 MASK 128.0.0.0 10.8.0.5
Wed Aug 31 15:14:40 2011 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.8.0.5
Wed Aug 31 15:14:40 2011 C:\WINDOWS\system32\route.exe ADD 10.8.0.1 MASK 255.255.255.255 10.8.0.5
Run Code Online (Sandbox Code Playgroud)
出于安全目的,我隐藏了以 199 开头的服务器 IP。
我假设 0.0.0.0 是一种“一切”的代码,所以我不确定如何让它工作,但总体思路是我需要一个特定的 IP 范围 ( 172.16.*) 才能解析(客户端的)本地网络意味着它不通过VPN 隧道,客户端可以连接到172.16.*本地。
这可能吗?路由可以通过命令行、服务器“推送”或客户端配置选项来执行。确实,任何让它发挥作用的同时仍然路由其他流量的方法都可以。
我的服务器在 Debian 64 位上运行,客户端在 Windows 7 上运行(尽管 Vista 也需要工作)。
如果需要,可以提供客户端/服务器配置。
看起来好像在做了更多研究之后,根据 grawity 的答案,更具体的路由将优先,在服务器的 PUSH 之后,我可以简单地做一个
--route [ip to bypass] 255.255.255.0 net_gateway
Run Code Online (Sandbox Code Playgroud)
openvpn 手册页中“route”指令中定义的 net_gateway 将解析为预先存在的 ip 默认网关
| 归档时间: |
|
| 查看次数: |
9969 次 |
| 最近记录: |