OpenVPN: маршрутизация только определенной подсети через vpn-работает для одиночных IP-адресов

Я пытался маршрутизировать только определенную подсеть / сингл через open vpn.

Я прочитал несколько вопросов, как это на superuser, и даже нашел
хороший ответ на мой вопрос.

так что теперь я могу маршрутизировать один ip-адрес через vpn. Для этого я добавил что-то вроде этого /etc/openvpn/client.conf:

route-nopull

route 1.2.3.4 255.255.255.255
route 5.6.7.8 255.255.255.255
route 9.10.11.12 255.255.255.255

однако это решает только половину моей проблемы, потому что то, что я хотел бы сделать, это маршрут конкретных подсетей через vpn, а не только одиночные адреса.

Я попытался следовать

route x.y.19.178 255.255.255.0

который, я полагаю, должен направить движение whoule к x.y.19.178/24 подсети через vpn, но это не так. Вместо этого я вижу в syslog следующую ошибку:

Dec 18 16:11:01 wi-dev ovpn-client[31421]: /sbin/ip route add x.y.19.178/24 via z.a.0.1
Dec 18 16:11:01 wi-dev ovpn-client[31421]: ERROR: Linux route add command failed: external program exited with error status: 2 

любая идея, что может быть не так с моим клиентом (или сервером) конфиг?

4
задан Community
04.02.2023 17:58 Количество просмотров материала 3505
Распечатать страницу

1 ответ

ваша маска сети недействительна для IP-адреса, который вы используете. В частности, если вы возьмете свои IP-адреса и преобразуете их в двоичный файл, вы получите:

IP   = x.y.19.178            = XXXXXXXX.YYYYYYYY.00010011.10110010
MASK = 255.255.255.252 (/30) = 11111111.11111111.11111111.11111100

для того, чтобы IP-адрес был действителен для подсети, IP должен быть в начале подсети, или в двоичном виде, IP может иметь только 1s, где маска подсети имеет 1s. Итак, если мы удалим последний 1 С IP получаем:

IP   = x.y.19.176            = 00001010.00000000.00010011.10110000

Итак, начало подсети должно быть на самом деле x.y.19.176. Вам придется вычислить соответствующие IP-адреса, если вы хотите подсеть, отличную от /30. Я использовал инструмент сделать некоторые вычисления.

Также обратите внимание: если вы просто запустите команду, приведенную в журнале в командной строке

/sbin/ip route add x.y.19.178/24 via z.a.0.1

вы получите ошибку обратно. На моей машине я получил "недопустимый аргумент", в то время как эта команда преуспела:

/sbin/ip route add 192.168.19.176/24 via 192.168.0.1
3
отвечен heavyd 2023-02-06 01:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх