私は、LTEカード(Sierra Wireless AirPrime EM7455)をWANインターフェイスとして使用して、ラップトップに仮想ルーターを設定しようとしました。
私の問題をまとめると、LTEカードはホスト上で動作しますが、ゲストVMに渡すとオンラインにアクセスできません。
ハードウェア/ソフトウェア情報
- ノートブック:Debian 11.7を実行するLenovo Yoga 370 20JJ(i3を実行する最小ネットワークインストール)
- LTEモデムカード:Sierra Wireless AirPrime EM7455
- 仮想化: KVM/QEMU/libvirt + virsh
ホストから
NetworkManager を使用せずに(推奨されない) ModemManager を使用すると、ホストシステムは次のコマンドを使用して接続できます。
mmcli -m 0 --enable
mmcli -m 0 --simple-connect="user=3,apn=data.tre.se,ip-type=ipv4"
次に、次のようにネットワークを手動で設定します。
ip link set wwan0 up
ip addr add [IP/PREFIX] dev wwan0
ip link set dev wwan0 arp off
ip link set dev wwan0 mtu [MTU]
ip route add default dev wwan0 metric 200
接続を確立できます。同様に効果的です。インターネットなどを検索できます。
ゲストの間
ゲストは転送LTEモデム(USBデバイスとして表示)を使用していますvirsh attach-device
。ホストシステムで使用される上記のコマンドをコピーすると、インターネットに接続できなくなります。ゲートウェイ IP への ping など、どのパケットにも応答がありません。代わりにTXおよびRXエラーのみが発生します。
user@modem:~$ ip -c -s link show wwan0
3: wwan0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 66:24:85:3c:8e:fb brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped missed mcast
0 0 20621 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 9 0 0 0
しかし、私にとって最も奇妙なことははいできた:
1. APNによるIP取得mmcli
--simple-connect
ゲストからコマンドを実行すると、ホスティング設定が表示され、モデムが「接続済み」と表示されます。モデム情報とベアラ情報の出力を別々に表示します。
$ sudo mmcli -m 0
--------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: [REDACTED]
--------------------------------
Hardware | manufacturer: Sierra Wireless, Incorporated
| model: Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
| firmware revision: SWI9X30C_02.33.03.00
| carrier config: default
| h/w revision: EM7455
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id: [REDACTED]
--------------------------------
System | device: /sys/devices/pci0000:00/0000:00:05.7/usb1/1-4
| drivers: cdc_mbim
| plugin: sierra
| primary port: cdc-wdm0
| ports: cdc-wdm0 (mbim), wwan0 (net)
--------------------------------
Status | lock: sim-pin2
| unlock retries: sim-pin2 (3)
| state: connected
| power state: on
| access tech: lte
| signal quality: 74% (recent)
--------------------------------
Modes | supported: allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 3g, 4g; preferred: 4g
| allowed: 3g, 4g; preferred: 3g
| current: allowed: 3g, 4g; preferred: 4g
--------------------------------
Bands | supported: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-41
| current: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
| eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
| eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-41
--------------------------------
IP | supported: ipv4, ipv6, ipv4v6
--------------------------------
3GPP | imei: [REDACTED]
| enabled locks: fixed-dialing
| operator id: 24002
| operator name: hallon
| registration: home
| packet service state: attached
--------------------------------
SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0
| sim slot paths: slot 1: /org/freedesktop/ModemManager1/SIM/0 (active)
| slot 2: none
--------------------------------
Bearer | paths: /org/freedesktop/ModemManager1/Bearer/0
$ sudo mmcli -m 0 -b 0
------------------------------------
General | path: /org/freedesktop/ModemManager1/Bearer/0
| type: default
------------------------------------
Status | connected: yes
| suspended: no
| multiplexed: no
| interface: wwan0
| ip timeout: 20
------------------------------------
Properties | apn: data.tre.se
| roaming: allowed
| ip type: ipv4
| user: 3
------------------------------------
IPv4 configuration | method: static
| address: A.B.C.58
| prefix: 30
| gateway: A.B.C.57
| dns: 80.251.201.178, 80.251.201.177
| mtu: 1500
------------------------------------
Statistics | start date: 2023-08-11T10:16:31Z
| duration: 30
| uplink-speed: 50000000
| downlink-speed: 300000000
| attempts: 1
| total-duration: 30
(一部の情報が削除されました)
2. 以下から、ゲストのテキストメッセージを自分の携帯電話に送信することもできます。mmcli
私にとって問題は、モデムがセルタワーに接続するのではなく、私のネットワーク構成やハードウェアが仮想マシンに転送する方法にさらに制限されています。たぶんファームウェアの問題ですか?
トラブルシューティングをお試しください
ModemManagerとDebianのさまざまなバージョン
私はゲストでDebian 11.7と最新の安定したDebian(12.X)を試しました。 ModemManagerのさまざまなバージョン(それぞれ1.14.12と1.20.4)が付属しています。目立つ違いはありません。私のホストはDebian 11.7 mmcli 1.14を実行していますが、Debian 12でエラーが発生した場合は、以下を実行する必要がありました。
$ mmcli -m 0 -e
error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Retry: Invalid transition'
$ sudo ln -sft /etc/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/*
NetworkManagerとModemManagerの統合
ModemManagerと統合されたNetworkManagerを試してみました。新しいゲスト(Debian 12)をインストールしてNetworkManagerをインストールした後、それを介してGSM接続を確立しました。その結果、IP、ゲートウェイ、DNSサーバーなどが得られ、接続は「接続済み」と表示されますが、まだRX / TXエラーのみが表示されます。
ファイアウォール
その機能が無効になっていることを確認しましたnftables
。私が知らないvirshとネットワーキングについての内容がなければ、システムに他のファイアウォールは存在しません。
誰にもアイデアがありますか?私はModemManagerと関連技術を初めて使用します。私は致命的で基本的なネットワーキングミスを犯していることを願っています。