Summary: | security/openvpn: ERROR: FreeBSD route add command failed: external program exited with error status: 1 | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Aleks <Z462vasa> |
Component: | Individual Port(s) | Assignee: | Matthias Andree <mandree> |
Status: | Closed Not A Bug | ||
Severity: | Affects Only Me | CC: | pi |
Priority: | --- | Flags: | mandree:
maintainer-feedback+
|
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Aleks
2019-01-07 08:03:39 UTC
Assigning this type of bug to phabric-admin@ is strange, as phabric-admin is responsible for phabric, not other stuff. The openvpn error message explains it: The route added already existed, so it complains. Can you elaborate why this should be wrong ? If this turns out to be a base (route(8)) issue, please change the Product/Component accordingly @Aleks Could you please provide your full OpenVPN server and client configuration as attachments. Don't forget to sanitize any security sensitive details, such as keys, usernames, passwords, hostnames, ip addresses, etc. # # [ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18] # [ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38] # [ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58] # [ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78] # [ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98] # [101,102] [105,106] [109,110] [113,114] [117,118] # [121,122] [125,126] [129,130] [133,134] [137,138] # [141,142] [145,146] [149,150] [153,154] [157,158] # [161,162] [165,166] [169,170] [173,174] [177,178] # [181,182] [185,186] [189,190] [193,194] [197,198] # [201,202] [205,206] [209,210] [213,214] [217,218] # [221,222] [225,226] [229,230] [233,234] [237,238] # [241,242] [245,246] [249,250] [253,254] mode server # указываем на каком локальном интерфейсе OpenVPN будет слушать # по умолчанию OpenVPN слушает все интерфейсы # Можно не задавать, тогда сервер будет принимать подключения на всех интерфейсах. local 178.*.*.* # порт на котором работает сервер port 1194 # протокол - TCP или UDP proto udp # используемый тип устройства и номер dev tap0 dev-type tap dev-node /dev/tap0 #dev tun0 #dev-type tun #dev-node /dev/tun0 # указываем по каким интерфейсам можно подключаться к OpenVPN по telnet # указывать нужно IP адреса интерфейсов сервера # management localhost 8329 management 192.168.3.1 8329 # #management 86.86.xxx.xx 8329 # client.crt - Сертификат клиента, нужен только клиенту # client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл) # ta.key - TLS-ключ, нужен и клиенту и серверу # Главный CA сертификат, этот файл нужен и клиенту и серверу ca /usr/local/etc/openvpn/keys/ca.crt # уСертификат сервера, нужен только серверу cert /usr/local/etc/openvpn/keys/server.crt # Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл) key /usr/local/etc/openvpn/keys/server.key # ключ Диффи Хельман, этот файл нужен только серверу dh /usr/local/etc/openvpn/keys/dh.pem # указываем где находится файл отозванных сертификатов #crl-verify /usr/local/etc/openvpn/crl.pem # задаем IP-адрес сервера и маску подсети (виртуальной сети) server 10.8.0.0 255.255.255.0 ifconfig 10.8.0.1 10.8.0.2 # ifconfig 10.8.0.1 255.255.254.0 # 254.0 different netmask to support 10.8.1.0/24 range # ifconfig-pool 10.8.0.4 10.8.0.253 # указываем внутренний DNS и WINS серверы #push "dhcp-option DNS 192.168.0.1" push "dhcp-option DNS 8.8.8.8" #push "dhcp-option DNS 192.168.0.10" #push "dhcp-option WINS 192.168.0.1" topology "subnet" push "topology subnet" #--ifconfig 10.8.0.1 255.255.255.0 # ifconfig 10.8.0.1 10.8.0.2 push "route-gateway 10.8.0.1" route-method exe # route-delay # задаем МАРШРУТ который передаём клиенту # и маску подсети для того чтобы он "видел" # сеть за OpenVPN сервером # Офис push "route 10.8.0.0 255.255.255.0" # Филиал №1 push "route 192.168.10.0 255.255.255.0" # Филиал №2 push "route 192.168.2.0 255.255.255.0" # Филиал №3 push "route 192.168.3.0 255.255.255.0" # указываем где хранятся файлы с # настройками IP-адресов клиентов # client-config-dir ccd client-config-dir /usr/local/etc/openvpn/ccd # директория с индивидуальными настройками клиентов # добавляем маршрут сервер-клиент route 10.8.0.0 255.255.255.0 10.8.0.2 #- route 10.8.0.0 255.255.255.0 # Филиал №1 route 192.168.10.0 255.255.255.0 10.8.0.2 # Филиал №2 route 192.168.2.0 255.255.255.0 10.8.0.2 # Филиал №3 route 192.168.3.0 255.255.255.0 10.8.0.2 # разрешает видеть клиентам друг друга (по виртуальным IP) # по умолчанию клиенты видят только сервер client-to-client # разрешать подключаться с одинаковым сертификатом/ключом duplicate-cn # включаем TLS аутентификацию # tls-server # для дополнительной безопасности при # использовании SSL/TLS, создайте "HMAC firewall" # для защиты от DoS аттак и флуда UDP порта. # # сгенерируйте с помощью: # openvpn --genkey --secret ta.key # # сервер и каждый клиент должны иметь копию этого ключа. # второй параметр выставляется в '0' для сервера и '1' для клиентов. # tls-auth /usr/local/etc/openvpn/keys/ta.key 0 # TLS таймаут, полезен если выход в интернет осуществляется # через GPRS мобильных операторов # tls-timeout 120 # выбираем алгоритм хеширования по умолчанию используется SHA1 # вывод полного списка командой openvpn --show-digests auth SHA1 # выберите криптографический сертификат. # этот пункт конфига должен копироваться # в конфиг клиента, так же как он установлен здесь. # по умолчанию используется/рекомендуется BF-CBC # вывод полного списка командой openvpn --show-ciphers #cipher BF-CBC # Blowfish (default) #cipher AES-128-CBC # AES # сжатия трафика VPN туннеля с помощью библиотеки LZO # если вы включили сжатие на сервере, # вы так же должны включить и в конфиге у клиента comp-lzo push "comp-lzo" # максимальное количество одновременно подключенных клиентов max-clients 100 # от какого пользователя и группы будет работать OpenVPN user root group openvpn # имеет смысл использовать при использовании протокола udp #mssfix 1450 # эти опции позволяют избежать необходимости # получения доступа к определенным ресурсам # после рестарта, т.к. это может быть невозможным # из-за понижения привилегий. persist-key persist-tun # путь к файлу записи статуса OpenVPN в лог status /var/log/openvpn/openvpn-status.log # путь к файлу записи событий происходящих на сервере # "log" - запись событий в лог будет перезаписываться при перезагрузке демона # "log-append" - запись событий будет добавляться в лог log /var/log/openvpn/openvpn.log # установите необходимый уровень логирования. # 0 - ничего, за исключением фатальных ошибок # 4 - подойдет для получения общих сведений # 5 и 6 пригодяться для отладки проблем соединения # 9 - максимально возможная информация verb 5 push "comp-lzo" # максимальное количество одновременно подключенных клиентов max-clients 100 # от какого пользователя и группы будет работать OpenVPN user root group openvpn # имеет смысл использовать при использовании протокола udp #mssfix 1450 # эти опции позволяют избежать необходимости # получения доступа к определенным ресурсам # после рестарта, т.к. это может быть невозможным # из-за понижения привилегий. persist-key persist-tun # путь к файлу записи статуса OpenVPN в лог status /var/log/openvpn/openvpn-status.log # путь к файлу записи событий происходящих на сервере # "log" - запись событий в лог будет перезаписываться при перезагрузке демона # "log-append" - запись событий будет добавляться в лог log /var/log/openvpn/openvpn.log # установите необходимый уровень логирования. # 0 - ничего, за исключением фатальных ошибок # 4 - подойдет для получения общих сведений # 5 и 6 пригодяться для отладки проблем соединения # 9 - максимально возможная информация verb 5 # макс кол-во однотипных записей в лог #mute 20 push "comp-lzo" # максимальное количество одновременно подключенных клиентов max-clients 100 # от какого пользователя и группы будет работать OpenVPN user root group openvpn # имеет смысл использовать при использовании протокола udp #mssfix 1450 # эти опции позволяют избежать необходимости # получения доступа к определенным ресурсам # после рестарта, т.к. это может быть невозможным # из-за понижения привилегий. persist-key persist-tun # путь к файлу записи статуса OpenVPN в лог status /var/log/openvpn/openvpn-status.log # путь к файлу записи событий происходящих на сервере # "log" - запись событий в лог будет перезаписываться при перезагрузке демона # "log-append" - запись событий будет добавляться в лог log /var/log/openvpn/openvpn.log # установите необходимый уровень логирования. # 0 - ничего, за исключением фатальных ошибок # 4 - подойдет для получения общих сведений # 5 и 6 пригодяться для отладки проблем соединения # 9 - максимально возможная информация verb 5 # макс кол-во однотипных записей в лог #mute 20 ## Add route to Client routing table for the OpenVPN Server push "route 10.8.0.1 255.255.255.255" ## Add route to Client routing table for the OpenVPN Subnet push "route 10.8.0.0 255.255.255.0" route delete 10.8.0.0/24 && route add -net 10.8.0.0/24 10.8.0.2 10.8.0.0/24 link#4 U tap0 10.8.0.1 link#4 UHS lo0 127.0.0.1 link#3 UH lo0 178.*.*.0/24 link#1 U bce0 178.*.*.* link#1 UHS lo0 192.168.2.0/24 10.8.0.2 UGS tap0 192.168.3.0/24 10.8.0.2 UGS tap0 192.168.3.1 link#2 UHS lo0 192.168.3.10 link#2 UHS lo0 192.168.3.10/32 link#2 U bce1 192.168.10.0/24 10.8.0.2 UGS tap0 * reporter does not heed OpenVPN man page, which explicitly states Don't use --server if you are ethernet bridging. Use --server-bridge instead. * reporter is using a non-supported FreeBSD version This is a non-supported configuration that is documented as such, not a bug. ))))) 12.0-STABLE FreeBSD 12.0-STABLE ddd amd64 Wed Jan 9 12:16:54 2019 us=364497 TUN/TAP device /dev/tun0 opened Wed Jan 9 12:16:54 2019 us=364530 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Wed Jan 9 12:16:54 2019 us=364566 /sbin/ifconfig tun0 10.8.0.1 10.8.0.2 mtu 1436 netmask 255.255.255.0 up Wed Jan 9 12:16:54 2019 us=368676 /sbin/route add -net 10.8.0.0 10.8.0.2 255.255.255.0 add net 10.8.0.0: gateway 10.8.0.2 fib 0 Wed Jan 9 12:16:54 2019 us=371363 /sbin/route add -net 10.8.0.0 10.8.0.2 255.255.255.0 add net 10.8.0.0: gateway 10.8.0.2 fib 0: route already in table Wed Jan 9 12:16:54 2019 us=374114 ERROR: FreeBSD route add command failed: external program exited with error status: 1 (In reply to Aleks from comment #8) Using FreeBSD 12.0 does not remedy the misconfiguration. Point being? 1. Why do I need a bridge? 2. other port with such settings is not working !!! # cd /usr/ports/net/rinetd && make install clean # echo 'rinetd_enable="YES"' >> /etc/rc.conf #sockstat #allow 194.44.221.30 #... ..... . ...... IP ..... ..... #allow 192.168.2.122 #...... ... .... .......... .... logcommon #... ... ..... logfile /var/log/rinetd.log #.......... ... ... .... allow 192.168.*.* allow 192.168.3.* allow 192.168.31.* deny 224.*.*.* deny 172.16.*.* deny 172.16.*.* deny 10.*.*.* deny 169.254.*.* Please stop using this bug tracking system a. for support inquiries. These belong directly on the project's support channels. b. for matters unrelated to this summary, such as rinetd. I will now unsubscribe from the bug and mark ignore bug mail and will not see or care about future updates to this bug. Please make sure you use the right medium for your respective inquiries. |