Armadilloフォーラム

create_apを用いたeth0とwlan0のブリッジ設定時にIPアドレスが振られない

masaya_yoshitomi

2022年9月29日 8時55分

お世話になっております。
吉冨です。

create_apを使用してwlan0をeth0にブリッジさせています。
Ethernetケーブルを抜いた状態でcreate_apをstartさせるとブリッジインターフェースにIPアドレスが振られずWifi経由でもGWに接続できません。
Ethernetケーブルは常時抜いている状態で必要なタイミングのみ挿して使用する想定でいます。
Ethernetケーブルを抜いた状態でcreate_apで正常にブリッジ出来る方法をご教示お願いいたします。

コメント

at_takumi.mizutani

2022年9月29日 13時49分

お世話になっております。
アットマークテクノの水谷です。

> お世話になっております。
> 吉冨です。
>
> create_apを使用してwlan0をeth0にブリッジさせています。
> Ethernetケーブルを抜いた状態でcreate_apをstartさせるとブリッジインターフェースにIPアドレスが振られずWifi経由でもGWに接続できません。
> Ethernetケーブルは常時抜いている状態で必要なタイミングのみ挿して使用する想定でいます。
> Ethernetケーブルを抜いた状態でcreate_apで正常にブリッジ出来る方法をご教示お願いいたします。

下記手順にて再現確認を行いましたが、構築したアクセスポイント経由でインターネット接続でき、現象の再現が出来ませんでした。
1. Ethernetケーブルを抜いた状態で "systemctl start create_ap.service" を実行する
2. Ethernetケーブルを挿入する

お手数ですが、実行した手順(コマンド)をご記載いただけますか。

以上、よろしくお願いいたします。

at_takumi.mizutani

2022年10月4日 10時27分

返信が遅くなってしまい申し訳ございません。

> 実行したコマンド自体は同じです。
> 設定が関係しているかもしれないので、設定および実行内容を記載した資料を添付しますのでご確認のほどお願いいたします。

資料の添付ありがとうございます。
再現確認時に "SHARE_METHOD" を "nat" に設定してしまっていたため動作結果が異なってしまったようです、申し訳ございません。

bridgeでの設定の場合、"/etc/NetworkManager/dispatcher.d/" 下に、ifup時にcreate_apを再起動するスクリプトを配置することで解決すると思います。
以下にスクリプトの例を記載いたしますので、こちらの方法を試していただけますと幸いです。

#!/bin/sh
 
if [ "$1" = "eth0" ] && [ "$2" = "up" ]; then
    systemctl restart create_ap.service
fi

以上、よろしくお願いいたします。

masaya_yoshitomi

2022年10月4日 13時18分

>

> #!/bin/sh
> 
> if [ "$1" = "eth0" ] && [ "$2" = "up" ]; then
>     systemctl restart create_ap.service
> fi
> 

>
上記のコードの場合、Ethernetケーブルを差した際にはネットワークを利用できるようにはなるとは思うのですが、基本的にEthernetは抜いた状態で利用するため、Ethernetケーブルを差していないときにもwlan0はupしている必要があります。
考え方としては電源ON時にブリッジ設定(同じIPを割振り)しているeth0/wlan0はいつでも使える状態で起動して、wlan0はいつでも利用可、eth0はケーブル挿入時にupするような挙動をイメージしております。
ご回答のほどよろしくお願いいたします。

> 考え方としては電源ON時にブリッジ設定(同じIPを割振り)しているeth0/wlan0はいつでも使える状態で起動して、wlan0はいつでも利用可、eth0はケーブル挿入時にupするような挙動をイメージしております。
> ご回答のほどよろしくお願いいたします。

少し違った方法ですが
こちらではLANケーブル挿抜処理が面倒なときは、事前に eth0 とブリッジをつないでいます。
1.事前に新規ブリッジ br0 を作成
2.br0 に eth0 を追加
3.DHCPで br0 にIPアドレスを付加する
 (この時点でLANケーブルに関係なく IPが有効になるはずです)
4.create_ap の対象デバイスを eth0 -> br0 に変更する

※ブリッジの作成例
https://wiki.archlinux.jp/index.php/%E3%83%8D%E3%83%83%E3%83%88%E3%83%A…

この方法が有効か分かりませんが、ご検討ください。