Преамбула: Мне повезло, что у меня есть IP-подсеть с реальными IP-адресами, поэтому нет NAT. У меня сеть с 1.2.3.0 до 1.2.3.128.

У меня есть сервер Debian с интерфейсом eth0, скажем, 1.2.4.9. Теперь я хочу иметь openVPN для подключения к этому интерфейсу и давать адреса клиентам, скажем, с адреса 1.2.3.80 до 1.2.3.90.

Нужны ли некоторые интерфейсы br0?

Все учебники в какой-то момент знакомят с NAT, но он мне не нужен.

1 ответ1

0

Это то, что на самом деле описано в документации openvpn и должно быть довольно тривиально. Вам нужно будет изменить сценарии, предусмотренные для ваших собственных настроек. Поскольку у вас 128 IP-адресов, я полагаю, что ваша сетевая маска 25 - отсюда

Исходя из этого, мы можем получить достаточное количество информации о вашей системе - я использовал этот калькулятор IP-адресов, чтобы выяснить это, и он дает следующую информацию

Address:   1.2.4.9               00000001.00000010.00000100.0 0001001
Netmask:   255.255.255.128 = 25  11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127             00000000.00000000.00000000.0 1111111
=>
Network:   1.2.4.0/25            00000001.00000010.00000100.0 0000000 (Class A)
Broadcast: 1.2.4.127             00000001.00000010.00000100.0 1111111
HostMin:   1.2.4.1               00000001.00000010.00000100.0 0000001
HostMax:   1.2.4.126             00000001.00000010.00000100.0 1111110
Hosts/Net: 126 

Подключение этих чисел к шагам, приведенным в документации openvpn, поможет вам начать.

Вам нужно будет создать файл запуска и завершения работы для моста сервера, чтобы использовать мостовой интерфейс. Вам также понадобятся утилиты моста. Хотя я включил основные шаги, RTFM тоже на случай, если я что-то пропустил #!/ Бен / Баш

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

    # Define physical ethernet interface to be bridged
    # with TAP interface(s) above.
    eth="eth0"
    eth_ip="1.2.4.9"
    eth_netmask="255.255.255.128"
    eth_broadcast="1.2.4.127"

    for t in $tap; do
        openvpn --mktun --dev $t
    done

    brctl addbr $br
    brctl addif $br $eth

    for t in $tap; do
        brctl addif $br $t
    done

    for t in $tap; do
        ifconfig $t 0.0.0.0 promisc up
    done

    ifconfig $eth 0.0.0.0 promisc up

    ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

и файл выключения в соответствии с документацией - обратите внимание на изменения в eth_ip, eth_netmask и eth_broadcast

Вам необходимо изменить конфигурационный файл openvpn, чтобы закомментировать строку чтения dev tun добавить новую строку чтения dev tap0 заменить server чтения строки и заменить его на server-bridge 1.2.4.9 255.255.255.128 1.2.3.80 1.2.3.90 - IP-адрес сервера, маска сети в соответствии с этим калькулятором, а также начало и конец требуемого диапазона IP-адресов.

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