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

Linux pppd не работает, но NetworkManager работает

Итак, я пытаюсь подключить свой модем PtP «Telit ME910» к сети Verizon LTE через pppd с использованием Ubuntu 16.04.

Если я подключу его и пройду стандартные шаги диспетчера сети «Включить широкополосную мобильную связь», он найдет APN по умолчанию и перечислит его, поэтому я могу выбрать «Verizon 4G LTE Contract 1», и он прекрасно подключится. Он создал интерфейс ppp0 с IP-адресом, и я могу успешно выполнить PING 8.8.8.8.

Если я подключу его и введу "pppd call verizon", он создаст интерфейс ppp0 с IP, но PING не работает? Я знаю, что ModemManager и NetworkManager делают больше, чем pppd, но я не могу отследить, что мне не хватает. Любая помощь была бы замечательной.

/ и т.д. / ppp / peers / verizon:

/dev/ttyUSB1
115200
connect "/usr/sbin/chat -v -f /etc/ppp/peers/verizon-chat"
noauth
#nodefaultroute

defaultroute
replacedefaultroute
usepeerdns

local
debug
persist

#updetach
nodetach

Детали рабочего соединения:

# ip route show table all
default dev ppp0  proto static  scope link  metric 700 
169.254.0.0/16 dev ppp0  scope link  metric 1000 
local 100.124.161.186 dev ppp0  table local  proto kernel  scope host  src 100.124.161.186 
broadcast 100.124.161.186 dev ppp0  table local  proto kernel  scope link  src 100.124.161.186 
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
unreachable default dev lo  table unspec  proto kernel  metric 4294967295  error -101 pref medium
local ::1 dev lo  table local  proto none  metric 0  pref medium
ff00::/8 dev eno1  table local  metric 256 linkdown  pref medium
unreachable default dev lo  table unspec  proto kernel  metric 4294967295  error -101 pref medium

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:100.113.251.242  P-t-P:0.0.0.0  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:260 errors:0 dropped:0 overruns:0 frame:0
          TX packets:301 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:82504 (82.5 KB)  TX bytes:62112 (62.1 KB)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     700    0        0 ppp0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 ppp0

Системный журнал здесь: рабочий

Подробная информация о неудачном соединении:

# ip route show table all
default dev ppp0  scope link 
10.64.64.64 dev ppp0  proto kernel  scope link  src 100.122.108.86 
local 100.122.108.86 dev ppp0  table local  proto kernel  scope host  src 100.122.108.86 
broadcast 127.0.0.0 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  table local  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  table local  proto kernel  scope link  src 127.0.0.1 
unreachable default dev lo  table unspec  proto kernel  metric 4294967295  error -101 pref medium
local ::1 dev lo  table local  proto none  metric 0  pref medium
ff00::/8 dev eno1  table local  metric 256 linkdown  pref medium
unreachable default dev lo  table unspec  proto kernel  metric 4294967295  error -101 pref medium

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:100.122.108.86  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:38 (38.0 B)  TX bytes:2065 (2.0 KB)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0  

Системный журнал здесь: failedSyslog

Приветствуются любые подсказки или советы. Я дошел до того, что вручную изменил таблицы маршрутизации и настройки интерфейса для ppp0, чтобы они точно соответствовали тому, что я вижу, когда использую графический интерфейс (NetworkManager), но он по-прежнему не позволяет даже простому PING 8.8.8.8 пройти через ppp0. Итак, очевидно, что есть некоторые сетевые детали, которые не отражаются в стандартных командах типа "ifconfig / route -env / ip route show table all", которые вызывают отключение.

Итак, после долгих и упорных поисков я наконец добавил "+ ipv6" в свой файл параметров ppp, и все начало работать. Теперь нужно выяснить и понять, зачем нужна эта опция!

С NetworkManager ppp Конфигурация подключения не сохраняется в общих сценариях конфигурации сети.
Чтобы отладить ppp Подключение я использовал nmcli Команда в системной консоли.
Для этого я бы начал со списков

$ nmcli con show
$ mmcli dev status
$ ip route

На рабочем сервере шлюза с работающим ppp это выглядит так:

$ nmcli con show
NOMBRE  UUID                                  TIPO            DISPOSITIVO 
ppp0    ec723ebc-3675-4d8a-81e8-8989bb275307  pppoe           enp1s0      
enp1s0  c0ab6b8c-0eac-a1b4-1c47-efe4b2d1191f  802-3-ethernet  --          
$ nmcli dev status
DISPOSITIVO  TIPO      ESTADO         CONEXIÓN 
enp1s0       ethernet  conectado      ppp0     
lo           loopback  sin gestión    --       
$ ip route
default via 80.58.67.182 dev ppp0 proto static metric 100 
80.58.67.182 dev ppp0 proto kernel scope link src <net.wor.k.ip> metric 100 

Тогда беги $ nmcli con show ppp0

Это может дать вам что-то вроде этого:

$ nmcli con show ppp0
connection.id:                          ppp0
connection.uuid:                        ec723ebc-3675-4d8a-81e8-8989bb275307
connection.stable-id:                   --
connection.interface-name:              enp1s0
connection.type:                        pppoe
connection.autoconnect:                 yes
connection.autoconnect-priority:        100
connection.autoconnect-retries:         -1 (predeterminado)
connection.timestamp:                   1529677563
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (predeterminado)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     desconocido
connection.lldp:                        -1 (default)
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          no
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --
802-3-ethernet.mtu:                     auto
802-3-ethernet.s390-subchannels:        --
802-3-ethernet.s390-nettype:            --
802-3-ethernet.s390-options:            --
802-3-ethernet.wake-on-lan:             1 (default)
802-3-ethernet.wake-on-lan-password:    --
ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       (predeterminado)
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-timeout:                      0
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv4.dad-timeout:                       -1 (predeterminado)
ipv6.method:                            auto
ipv6.dns:                               --
ipv6.dns-search:                        --
ipv6.dns-options:                       (predeterminado)
ipv6.dns-priority:                      0
ipv6.addresses:                         --
ipv6.gateway:                           --
ipv6.routes:                            --
ipv6.route-metric:                      -1
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (desconocido)
ipv6.addr-gen-mode:                     eui64
ipv6.dhcp-send-hostname:                yes
ipv6.dhcp-hostname:                     --
ipv6.token:                             --
ppp.noauth:                             yes
ppp.refuse-eap:                         no
ppp.refuse-pap:                         no
ppp.refuse-chap:                        no
ppp.refuse-mschap:                      no
ppp.refuse-mschapv2:                    no
ppp.nobsdcomp:                          no
ppp.nodeflate:                          yes
ppp.no-vj-comp:                         no
ppp.require-mppe:                       no
ppp.require-mppe-128:                   no
ppp.mppe-stateful:                      no
ppp.crtscts:                            no
ppp.baud:                               0
ppp.mru:                                1492
ppp.mtu:                                1492
ppp.lcp-echo-failure:                   0
ppp.lcp-echo-interval:                  0
pppoe.service:                          --
pppoe.username:                         <provider_login>
pppoe.password:                         <hidden>
pppoe.password-flags:                   0 (none)
proxy.method:                           none
proxy.browser-only:                     no
proxy.pac-url:                          --
proxy.pac-script:                       --
GENERAL.NOMBRE:                         ppp0
GENERAL.UUID:                           ec723ebc-3675-4d8a-81e8-8989bb275307
GENERAL.DISPOSITIVOS:                   enp1s0
GENERAL.ESTADO:                         activada
GENERAL.PREDETERMINADO:                 sí
GENERAL.PREDETERMINADO6:                no
GENERAL.VPN:                            no
GENERAL.ZONA:                           --
GENERAL.RUTA-DBUS:                      /org/freedesktop/NetworkManager/ActiveConnection/2
GENERAL.CON-RUTA:                       /org/freedesktop/NetworkManager/Settings/5
GENERAL.OBJETO SPEC:                    --
GENERAL.MASTER-RUTA:                    --
IP4.DIRECCIÓN[1]:                       <net.wor.k.ip>/32
IP4.PUERTA DE ENLACE:                   80.58.67.182
IP4.DNS[1]:                             80.58.61.250
IP4.DNS[2]:                             80.58.61.254
IP6.DIRECCIÓN[1]:                       fe80::beae:c5ff:fe34:f062/64
IP6.PUERTA DE ENLACE:                   --

Вы можете найти файл конфигурации в:

# pwd
/etc/NetworkManager/system-connections
# ls -lah
total 8,0K
drwxr-xr-x. 2 root root   17 mar 22 14:26 .
drwxr-xr-x. 7 root root 4,0K feb  7 14:26 ..
-rw-------  1 root root  366 mar 22 14:26 ppp0

# cat ppp0
[connection]
id=ppp0
uuid=ec723ebc-3675-4d8a-81e8-8989bb275307
interface-name=enp1s0
type=pppoe
permissions=
timestamp=1437654424
secondaries=
autoconnect-priority=100
[pppoe]
username=<provider_login>
password=<login_password>    
[ipv6]
method=auto
dns-search=    
[ipv4]
method=auto
dns-search=    
[ethernet]
mac-address-blacklist=    
[ppp]
nodeflate=true
mru=1492
mtu=1492