我有一个OpenVPN服务器运行Ubuntu Linux v14。
这是是否配置对于连接的客户端:
luis@Zarzamoro:/etc/openvpn$ sudo ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.211.141 P-t-P:192.168.211.142 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
我想要网络掩码任何连接客户端的255.255.255.0
,而不是255.255.255.255
。
当然,我可以将其更改为客户端通过多种方式,例如:
# ifconfig tun0 netmask 255.255.255.0 up
...一些脚本/etc/network/if-up.d/
等等。
但我想这么做从服务器,如果可能的话。
这是:任何连接的客户端将会收到(来自 OpenVPN 服务器)类似如下的内容:
luis@Zarzamoro:/etc/openvpn$ sudo ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.211.141 P-t-P:192.168.211.142 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
这能做到吗?
对双方都适用的答案Windows 和 Linux 客户端是首选。
答案1
更改topology
范围在/etc/openvpn/server.conf
(或任何地方):
# Network topology:
topology subnet
并指定 IP 地址池(包括网络掩码) 在同一个文件中(注释仅显示示例数字,因此请用您的数字替换):
# Configure server mode and supply a VPN subnet
# for OpenVPN to draw client addresses from.
# The server will take 10.8.0.1 for itself,
# the rest will be made available to clients.
# Each client will be able to reach the server
# on 10.8.0.1. Comment this line out if you are
# ethernet bridging. See the man page for more info.
#server 10.8.0.0 255.255.255.0
server 192.168.211.0 255.255.255.0
顺便重启服务器:
$ sudo /etc/init.d/openvpn restart
就这些了。
补充要点:
- 根据手册页默认的拓扑模式是
net30
,所以需要更改。 - 根据同一手册页,拓扑子网模式
works only on OpenVPN v2.1 or higher
。