openvpn —config conf.ovpn results in ‘RTNETLINK answers: File exists’
I’m trying to configure a vpn client (first and only for this server). The server is running on a Raspberry 3 Pi configured with PiVPN, that generated the client config file too. Here is the output of openvpn —config conf.ovpn :
Tue Jun 27 21:35:42 2017 OpenVPN 2.4.0 i686-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on May 22 2017 Tue Jun 27 21:35:42 2017 library versions: OpenSSL 1.0.2l 25 May 2017, LZO 2.08 Enter Private Key Password: ************* Tue Jun 27 21:35:45 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]2.x.x.x:1194 Tue Jun 27 21:35:45 2017 UDP link local: (not bound) Tue Jun 27 21:35:45 2017 UDP link remote: [AF_INET]2.x.x.x:1194 Tue Jun 27 21:35:46 2017 [server] Peer Connection Initiated with [AF_INET]2.x.x.x:1194 Tue Jun 27 21:35:47 2017 TUN/TAP device tun0 opened Tue Jun 27 21:35:47 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Tue Jun 27 21:35:47 2017 /sbin/ip link set dev tun0 up mtu 1500 Tue Jun 27 21:35:47 2017 /sbin/ip addr add dev tun0 10.8.0.3/24 broadcast 10.8.0.255 RTNETLINK answers: File exists Tue Jun 27 21:35:47 2017 ERROR: Linux route add command failed: external program exited with error status: 2 Tue Jun 27 21:35:47 2017 Initialization Sequence Completed
root@kali:~# ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 1c:75:08:fa:3b:7e brd ff:ff:ff:ff:ff:ff 3: wlan0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether ec:55:f9:79:b5:dc brd ff:ff:ff:ff:ff:ff inet 192.168.1.64/24 brd 192.168.1.255 scope global dynamic wlan0 valid_lft 2511sec preferred_lft 2511sec inet6 2001:b07:2e0:81c6:7341:e6d7:dab4:9e57/64 scope global noprefixroute dynamic valid_lft 25114sec preferred_lft 10714sec inet6 fe80::de7a:3e8b:1eb4:4163/64 scope link valid_lft forever preferred_lft forever
pi@raspberrypi:~ $ ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b8:27:eb:70:cf:f3 brd ff:ff:ff:ff:ff:ff inet 192.168.1.67/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2001:b07:2e0:81c6:4efb:fa6b:69b7:a22b/64 scope global noprefixroute dynamic valid_lft 24935sec preferred_lft 10535sec inet6 fe80::4137:8750:ed76:79cf/64 scope link valid_lft forever preferred_lft forever 3: wlan0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether b8:27:eb:25:9a:a6 brd ff:ff:ff:ff:ff:ff inet6 fe80::8d7:6c11:f28e:eea0/64 scope link tentative valid_lft forever preferred_lft forever 4: tun0: mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 link/none inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::1c6c:2047:3987:5469/64 scope link flags 800 valid_lft forever preferred_lft forever
client dev tun proto udp remote 2.x.x.x 1194 resolv-retry infinite nobind persist-key persist-tun key-direction 1 remote-cert-tls server tls-version-min 1.2 verify-x509-name server name cipher AES-256-CBC auth SHA256 comp-lzo verb 1 auth-nocache
dev tun proto udp port 1194 ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server.crt key /etc/openvpn/easy-rsa/pki/private/server.key dh /etc/openvpn/easy-rsa/pki/dh2048.pem topology subnet server 10.8.0.0 255.255.255.0 ifconfig 10.8.0.1 10.8.0.2 push "route 10.8.0.1 255.255.255.255" push "route 10.8.0.0 255.255.255.0" push "route 192.168.1.0 255.255.255.0" push "dhcp-option DNS 84.200.69.80" push "dhcp-option DNS 84.200.70.40" push "redirect-gateway def1" client-to-client duplicate-cn keepalive 10 120 tls-version-min 1.2 tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 cipher AES-256-CBC auth SHA256 comp-lzo user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log 20 status-version 3 log /var/log/openvpn.log verb 1
Linux route file exists
Бывает так, что при настройке сети в Linux, например при добавлении дополнительного IP-адреса для сетевого интерфейса, может появиться следующая ошибка:
# ip addr add 192.168.1.95/24 dev enp5s0
RTNETLINK answers: File exists
Традиционно, текст ошибки указывает совершенно не на ту проблему, которая возникла на самом деле. При возникновении данной ошибки обычно рекомендуют перезагрузить компьютер или полностью сбросить конфигурацию сетевого интерфейса через команды:
# ip route flush dev enp5s0
Предполагается, что некий загадочный конфигурирующий файл или файл устройства освободится и можно будет произвести настройку.
Так вот, этого делать не нужно. Лучше посмотреть на исходную команду, и понять, что в ней может быть не так. Вроде бы все в порядке? Да! Но что если посмотреть на выхлоп:
link/ether . brd ff:ff:ff:ff:ff:ff
inet 192.168.1.95/24 brd 192.168.1.255 scope global enp5s0
valid_lft forever preferred_lft forever
Оказывается, такой IP с такой маской уже существует. По запарке можно было этого и не заметить. То есть, проблема оказалась в неправильном применении команды.
По непроверенной информации, RTNETLINK расшифровывается как ROUTE NETWORK LINK (иногда используется наименование NETLINK_ROUTE ), и под этим «объектом» подразумевается сокет маршрутизации IPv4. Соответственно, если сокет уже существует, а пользователь пытается своей командой косвенно создать такой же сокет, то будет появляеться вышеуказанная ошибка. Так же, подобная ошибка будет появляться, если есть какие-то неполадки в настройках маршрутизации.
Ждем, когда команда ip станет более интеллектуальной, и будет точно говорить в чем проблема, чтобы можно было ее быстро решить.
- Как примонтировать SMB диск с русскими именами файлов, другие опции Samba
- wget — основные параметры
- Маскарадинг (masquerading) и трансляции ip-адресов (NAT)
- Используем 2+ провайдера
- Как в Linux узнать какая программа слушает порт
- Отправляем бекап на почту
- Прокси сервера для фильтрации контента
- Privoxy — прокси-сервер для фильтрации веб-содержимого
- Что делать, если каталог был примонтирован через smbmount, а потом Windows был выключен
- OpenSSH: настройки, секреты, трюки и советы
- Написание HTTP-запросов с помощью Curl
- Как быстро узнать, какой веб-сервер используется на сайте
- Как удалить сетевое соединение с указанным IP и номером порта
- Как отключить ответ на запросы с указанного IP (борьба с DDOS атаками)
- Как сделать маршрутизацию, чтобы при недоступности одного шлюза траффик шел через другой
- Как в Linux вывести все переменные окружения, с которыми работает процесс
- Как настроить автоматическую перезагрузку через 10 секунд после kernel panic
- Как посмотреть в содержимое initrd, собранного mkinitramfs
- Как быстро проверить Linux сервер на предмет взлома
- Защита от DDoS с iptables и ipset
- Как быстро узнать список машин в сети
- Как бороться с DDOS атакой
- Где прописывать правила фаирвола
- Интернет через ICMP
- Как проверить свой сайт на стандартные уязвимости
- Почтовый сервер со всем фаршем на 10.04 LTS
- Как залогиниться через WGET с сохранением кук
- Выкачивание набора файлов с ресурса, на который вначале требуется сделать вход через логин-пароль
- SSH: как настроить доступ к домашнему компьютеру, скрытому за NAT
- Как в Linux посмотреть, какие запросы идут по сети в реальном времени
- Как в Linux быстро просмотреть список активных сетевых соединений
- Zabbix: Обслуживание сети, автоматизация администрирования
- Мониторинг коммутаторов Cisco, D-Link, 3Com, Zyxel в системе Zabbix
- Как в Debian, перенесенном (скопированном) с другого раздела заставить идти нумерацию eth интерфейсов с нуля
- Что делать, если отключилось соединение sshfs
- Пример сети класса C (C1, C2, . )
- Как присвоить одной сетевой карте несколько IP адресов
- Формат конфиг-файла iptables
- Настройка iptables для чайников от losst.ru
- Методичка по настройке iptables в Linux
- Основные понятия iptables в Linux — подробное объяснение приниципа работы и формата конфигов
- Как безопасно проверить конфигурационный файл iptables
- Как настроить сервер SSH чтобы постоянно на разрывалось соединение
- Как примонтировать диск через SSH
- Особенности настройки фаирвола iptables в Debian 7.4
- Как сделать эхо-сервер на конкретном порту в Linux
- Nmap. Начало использования
- DNS туннель через закрытый WiFi
- Как скачивать через youtube-dl. Опции команды.
- Просмотр ARP таблиц в Windows и Linux
- Как посмотреть открытые файлы на SAMBA сервере
- Быстрая настройка dnsmasq в качестве DNS-сервера в Debian Linux 8.5
- Как в Debian Linux разрешить вход по паролю для root через ssh
- Как пропинговать хост по MAC адресу
- Настройка сети в RedHat (RHEL) 7 Linux и Fedora 25 через консоль
- Как в Linux найти все компьютеры в сети
- Уровни модели OSI
- Структура пакета IPv4
- Структура пакета TCP (формат заголовка сегмента)
- Настройка интернет соединения (PPPoE) для Linux
- Настройка PPPoE в Network Manager под Linux
- Какие пакеты нужны, чтобы примонтировать ресурс по NFS
- Утилита ip в Linux
- Как подключиться к WiFi, минуя SMS аутентификацию. Как узнать MAC адрес уже подключенного пользователя. Как подменить MAC-адрес.
- Вход в публичные защищенные Wi-Fi сети путем спуфинга MAC-адреса
- Как в Debian Linux настроить сеть через команду ip
- О чем говорит ошибка «RTNETLINK answers: File exists»
- Подключение компьютера с Linux к сети Интернет через USB-кабель и телефон с Android
- Исправление работы сети в Debian 9
- Настройка сети — пример файла конфигурации /etc/network/interfaces в Debian Linux
- Как создать сетевое соединение между двумя компьютерами по COM-порту в Linux
- Как настроить кодировку UTF-8 в minicom
- Как в Linux узнать MAC-адрес по IP-адресу
- Как получить информацию о домене через утилиту whois
- Как установить и запустить ntop в Debian Linux 11