Назад | Перейти на главную страницу

Невозможно пинговать другие локальные IP-адреса при подключении l2tp vpn, получая: ping: sendmsg: Нет такого устройства

Я установил l2tp-клиент, использующий xl2tp для подключения к l2tp vpn-серверу. Для подключения к серверу необходимо, чтобы соединение было настроено БЕЗ ipsec. Итак, я установил базовое соединение xl2tp. Кажется, что соединения работают, и я получаю IP-адрес от сервера vpn, который виден, когда я запускаю ifconfig. Однако я не могу пинговать ни один IP-адрес в сети, к которой я подключился, в этой сети есть определенный IP-адрес, к которому мне нужно подключиться: 10.10.251.32, однако при попытке получить эту ошибку: "ping: sendmsg: Нет такого устройства ". Я пробую пинг с командой: ping -I ppp0 10.10.251.32. Я пробовал подключиться к vpn с других машин, присвоенные мне IP-адреса, например: 10.10.2.163, или 10.10.2.120, или 10.10.2.114, все в подсети 10.10.2.xxx,

  1. Это мой xl2tpd.conf:

    [global]
    access control = no
    auth file = /etc/ppp/chap-secrets
    debug avp = no
    debug network = no
    debug packet = no
    debug state = no
    debug tunnel = no
    [lac vpn-connection]
    lns = xx.xx.32.43
    redial = yes
    redial timeout = 5
    require chap = yes
    require authentication = yes
    ppp debug = no
    pppoptfile = /etc/ppp/options.l2tpd
    require pap = no
    autodial = yes
    name = thename
    
  2. вот мой: options.l2tpd

    ipcp-accept-local
    ipcp-accept-remote
    refuse-eap
    require-mschap-v2
    noccp
    noauth
    idle 1800
    mtu 1410
    mru 1410
    defaultroute
    usepeerdns
    debug
    lock
    connect-delay 5000
    name xxxxxx
    password xxxxx
    
  3. Я знаю, что соединение устанавливается, потому что я получаю интерфейс ppp0 и IP-адрес:

    ppp0      Link encap:Point-to-Point Protocol  
              inet addr:10.10.2.115  P-t-P:xx.xx.32.43  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1410  Metric:1
              RX packets:5 errors:0 dropped:0 overruns:0 frame:0
              TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3 
              RX bytes:98 (98.0 B)  TX bytes:110 (110.0 B)
    
  4. IP-адрес сервера, который мне нужно поразить: 10.10.251.32, когда я пытаюсь выполнить ping с помощью команды ping, специфичной для этого интерфейса:

    ping -I ppp0 10.10.251.32
    

Я получаю эту ошибку: ping: sendmsg: Нет такого устройства

  1. Подумав, может быть, это какая-то проблема с подсетью, я подключился к vpn, используя одновременно несколько клиентов-клиентов, и получил IP-адреса, такие как 10.10.2.120, 10.10.2.114, и пинговал каждого из клиентов друг от друга с той же проблемой: ping: sendmsg: Нет такого устройства. Со всеми клиентами я подключаюсь, и ifconfig возвращает правильный IP-адрес.

Человек, управляющий другими сетями, клянется, что эти IP-адреса работают. Я не уверен, что делать дальше .. простите новичка в Linux ..

  1. Вот результат ip ro show:

    default via xx.31.32.1 dev eth0 
    xx.xx.32.43 dev ppp0  proto kernel  scope link  src 10.10.2.125 
    xx.31.32.0/20 dev eth0  proto kernel  scope link  src xx.31.36.249
    

Таким образом, это была проблема с маршрутизацией, мне нужно было добавить скрипт в папку /etc/ppp/ip-up.d, этот скрипт с именем routes.sh будет запущен, когда появится интерфейс vpn / ppp.

/etc/ppp/ip-up.d/route

#!/bin/bash
route add -net 10.10.251.32 netmask 255.255.255.255 dev ppp0
route add -net 10.10.247.1 netmask 255.255.255.255 dev ppp0
exit

Затем мне также нужно было включить ipforwarding в sysctl.conf, командой: net.ipv4.ip_forward = 1

Вот и все .. установите маршруты при появлении интерфейса и включите пересылку.