У меня есть сервер OpenVPN, работающий на Ubuntu Linux v14.
Это пример ifconfig для подключающегося клиента:

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 ответ1

0

Измените параметр 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

Это должно быть все.

Дополнительные баллы:

  • В соответствии с man-страницей режим топологии по умолчанию - net30 , поэтому его нужно изменить.
  • Согласно той же странице справки, режим подсети топологии works only on OpenVPN v2.1 or higher .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .