Armadilloフォーラム

Armadillo-IotTG4のeth1に複数のIPを設定して通信する方法はありますか?

y_seto

2024年11月12日 19時31分

==========
製品型番:AGX4520-C03D0
Debian/ABOSバージョン:3.20.3-at.3
カーネルバージョン:5.10.226-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
AP:br_ap 192.168.1.1/24
eth0: 192.168.0.100/24
eth1: 192.168.44.31/24

上記の通信環境でUDP通信を確認して問題なく通信できている状況です。

ここからeth1に複数IPを設定してネットワークを増やしたいのですが、eth1:1を設定してもUDPでうまく通信できません。
ifconfigでeth1:1を追加してPingは通ったのですが、もともとのeth1の通信が動かなくなってしまいました。
ABOSWebで再度eth1を設定しなおしたら通信は戻りましたがeth1:1が消えてしましました。
(設定したいIPは192.168.1.48/24)

eth0やeth1に複数IPを持たせてUDP通信することは可能でしょうか。

宜しくお願い致します。

コメント

アットマークテクノの古賀です。

y_setoさん:
>==========
>AP:br_ap 192.168.1.1/24
>eth0: 192.168.0.100/24
>eth1: 192.168.44.31/24
>
>上記の通信環境でUDP通信を確認して問題なく通信できている状況です。
>
>ここからeth1に複数IPを設定してネットワークを増やしたいのですが、eth1:1を設定してもUDPでうまく通信できません。
>ifconfigでeth1:1を追加してPingは通ったのですが、もともとのeth1の通信が動かなくなってしまいました。
>ABOSWebで再度eth1を設定しなおしたら通信は戻りましたがeth1:1が消えてしましました。
>(設定したいIPは192.168.1.48/24)
>
>eth0やeth1に複数IPを持たせてUDP通信することは可能でしょうか。

eth1:1 を作って別 IP アドレスを設定するのではなく、eth1 に直接複数の IP アドレスを設定できますが、そうした場合は、どうなるでしょうか?
ひとまず、以下のコマンドでIP アドレスを追加した場合にどうなるか、試してみてください:

# ip addr add 192.168.1.48/24 dev eth1

この一時的な(再起動するまでの間有効な)設定で試してみて問題なければ、nmcli で設定を行い、設定内容を永続化すればよいでしょう。
nmcli での設定については、このページの説明が参考になるかと思います:
 https://infotechys.com/add-multiple-ip-addresses-using-nmcli/

y_setoです。

古賀様
ご回答ありがとうございます。

上記コードを試してip addrで確認したところ、eth1は下記のようになりました。

# ip addr
eth1 : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500 qdisc mq state UP qlen 1000
    link/ether 00:11:0c:33:0f:77 brd ff:ff:ff:ff:ff:ff
    inet 192.168.44.31/24 brd 192.168.44.255 scope global noprefixroute eth1
         valid_lft forever preferred_lft forever
    inet 192.168.1.48/24 scope global eth1
         valid_lft forever preferred_lft forever
    inet6 fe80::b589:ccd2:8dcf:d8e3/64 scope link noprefixroute
         valid_lft forever preferred_lft forever

ipの追加はできたのですが、ipを追加した途端それまで通信できていたUDPが一部通信できなくなり
追加分のIPを削除すると通信ができるようなっています。

通信できなくなったのは192.168.44.31(armadillo)→192.168.1.49(別デバイス)の通信です。

アットマークテクノの古賀です。

y_setoさん:
>ipの追加はできたのですが、ipを追加した途端それまで通信できていたUDPが一部通信できなくなり
>追加分のIPを削除すると通信ができるようなっています。
>
>通信できなくなったのは192.168.44.31(armadillo)→192.168.1.49(別デバイス)の通信です。

armadillo と別デバイスの間の通信経路は、どうなっているでしょうか?
192.168.44.31 と 192.168.1.49 の間、つまり異なるサブネット間の通信ですから、間にルーターの役割を果たすデバイスを挟んでいるかと思います。

ところで、armadillo と別デバイスの UDP 通信には、それぞれどのようなプログラムをお使いでしょうか?

y_setoです。

古賀様
ご返信に時間がかかり申し訳ありません。

結論からいうとコマンドを下記のように変更したら通信ができるようになりました。

# ip addr add 192.168.1.48/24 brd 192.168.1.255 dev eth1 noprefixroute

恐らく、ブロードキャストの設定が追加されたことで宛先の解決ができるようになったと思います。

> armadillo と別デバイスの間の通信経路は、どうなっているでしょうか?
> 192.168.44.31 と 192.168.1.49 の間、つまり異なるサブネット間の通信ですから、間にルーターの役割を果たすデバイスを挟んでいるかと思います。
>
> ところで、armadillo と別デバイスの UDP 通信には、それぞれどのようなプログラムをお使いでしょうか?
armadilloのコンテナでルーティングをしてUDPで通信するプログラムを作成してそれを動かしています。

ご相談に乗って頂きありがとうございました。

y_setoです。

追加で1つ教えて頂きたいです。

ip addr addやnmcliで1つのNICに複数IPを設定したあとにrebootなどで一回電源が切れると設定が消えてしまうと思うのですが、
この複数のIPを恒久的に設定する方法はないでしょうか。

アドバイスお願い致します。

アットマークテクノの古賀です。

y_setoさん:
>追加で1つ教えて頂きたいです。
>
>ip addr addやnmcliで1つのNICに複数IPを設定したあとにrebootなどで一回電源が切れると設定が消えてしまうと思うのですが、
>この複数のIPを恒久的に設定する方法はないでしょうか。

nmcli で行った設定内容は、nmcli の設定ファイルに persist_file コマンドを適用して変更内容を永続化することで、再起動時に揮発しないようにできます。
 https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
なお、ABOS Web は、内部で nmcli を使っており、設定変更した際に nmcli の設定ファイル変更内容を永続化する動作を自動的に行ってくれます。
eth1 に複数の IP アドレスを割り当てる場合は、「LAN 接続設定」画面の「IPv4 アドレス (ipv4.addresses)」入力フィールドに、カンマ(,)区切りで IPv4 アドレスを並べてかけばよいです:
 https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

試してみてくださいませ。

y_setoです。

古賀様、アドバイスありがとうございます。
早速ABOS Webでの追加方法を試してみました。
無事にIPアドレスを複数設定し、Rebootでも消えていないことが確認できました。
ありがとうございました。