firmproducts
2022年9月7日 11時02分
現在、armadillo-IOT-A6を使い、ppp0としてLTEに接続出来ております。
この状態でeth0の有線LANへ他のPCを接続し、
他のPCからppp0経由でインターネットに接続しようと思い、
下記のiptablesコマンドでNAT設定してみたのですが、
iptables -t nat -A POSTROUTING -s 192.176.9.0/24 -j MASQUERADE
以下エラーが返ってきました。
iptables v1.8.2 (nf_tables): Chain 'MASQUERADE' does not exist
ネットで調べてみると、
以下コマンドで legacy iptablesへ更新している記事が有りましたので、
試したのですが
sudo update-alternatives --config iptables
0,1,2の選択番号を聞いてきたので、
1を入力したのですが、
-bash: 1: command not found
となり、受け付けて貰えませんでした。
そもそも、eth0(有線LAN)からLTE(ppp0)経由で外部に接続する方法として、
上記方法で合ってますでしょうか?
詳しい設定方法のリンク等ご教示頂けますと助かります。
宜しくお願い致します。
コメント
firmproducts
> 水谷です。
>
> > ネットで調べてみると、
> > 以下コマンドで legacy iptablesへ更新している記事が有りましたので、
> > 試したのですが
> > sudo update-alternatives --config iptables
> >
> > 0,1,2の選択番号を聞いてきたので、
> > 1を入力したのですが、
> > -bash: 1: command not found
> > となり、受け付けて貰えませんでした。
>
> 数字を入力する前にEnterが押されてしまっていないでしょうか。
> 再度同じ手順で試していただくか、以下のコマンドでも同様に legacy iptables へ更新できますので一度お試しいただけますか。
> update-alternatives --set iptables /usr/sbin/iptables-legacy
>
>
> > そもそも、eth0(有線LAN)からLTE(ppp0)経由で外部に接続する方法として、
> > 上記方法で合ってますでしょうか?
> >
> > 詳しい設定方法のリンク等ご教示頂けますと助かります。
> >
> > 宜しくお願い致します。
>
> G3 の記事ですが、こちらが参考になるかと思いますのでご参照ください。
> https://armadillo.atmark-techno.com/blog/615/6736
>
> 記事内の「2. 3G/LTEの設定」「3. 有線LANの設定」については、Armadillo-IoT ゲートウェイ A6にはNetworkManagerが
> インストールされておりませんので、Armadillo-IoT ゲートウェイ A6 製品マニュアル「6.2.4. LTE の設定」「6.2.2. 有線 LAN の設定方法」をご参照ください。
> https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
> https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
>
> 以上、よろしくお願いいたします。
ご回答有難うございます。
教えて頂いた記事の項目1~8までは出来たのですが、
https://armadillo.atmark-techno.com/blog/615/6736
下記の項目9のコマンドでエラーが発生しました。
9. ポートフォワードに設定
># iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables v1.8.2 (legacy): Couldn't load target `MASQUERADE':No such file or directory
そこで、記事を見つけました。
https://armadillo.atmark-techno.com/index.php/forum/armadillo/1450
menuconfigユーザランド設定で、下記の設定が抜けていました。
> Network Applications --->
> [*] MASQUERADE
今回、Armadillo-IOT-A6の場合
armadillo-iota6_product_manual_ja-1.6.2.pdfの中で、
"11.3.1. 出荷状態のルートファイルシステムアーカイブを構築する"
を参考にさせて頂き、ルートファイル構築を行いました。
しかし、前記にあるような、menuconfigというコマンドは上記A6環境では、
どこにも見当たりませんでした。
Armadillo-IOT-A6クロス環境でMASQUERADEを
有効にする方法をご教示ください。
宜しくお願い致します。
koga
アットマークテクノの古賀です。
firmproductsさん:
>そこで、記事を見つけました。
>
>https://armadillo.atmark-techno.com/index.php/forum/armadillo/1450
この質問スレッドは、対象製品が「Armadillo-IoT G2/G1]ですので、弊社独自のディストリビューションである Atmark Dist を搭載していた製品に対するものですね。
>menuconfigユーザランド設定で、下記の設定が抜けていました。
>
>> Network Applications --->
>>[*] MASQUERADE
>
>
>今回、Armadillo-IOT-A6の場合
>armadillo-iota6_product_manual_ja-1.6.2.pdfの中で、
>"11.3.1. 出荷状態のルートファイルシステムアーカイブを構築する"
> を参考にさせて頂き、ルートファイル構築を行いました。
>
>しかし、前記にあるような、menuconfigというコマンドは上記A6環境では、
>どこにも見当たりませんでした。
こちらは、Atmark Dist のユーザランドビルド用の設定項目なのです:
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…
Armadillo-IoT A6 に搭載しているディストリビューションである Debian には、これに該当するものがありません。
頂いているご質問の本質的な部分に対する回答ではなく恐縮ですが、取り急ぎ menuconfig に関する回答です。
at_takumi.mizutani
水谷です。
> しかし、前記にあるような、menuconfigというコマンドは上記A6環境では、
> どこにも見当たりませんでした。
>
> Armadillo-IOT-A6クロス環境でMASQUERADEを
> 有効にする方法をご教示ください。
>
> 宜しくお願い致します。
以下のコンフィギュレーションを有効にしてみてください。
Networking support --->
[*] Network packet filtering framework (Netfilter) --->
IP: Netfilter Configuration --->
[*] iptables NAT support --->
[*] MASQUERADE target support
また、Linux Kernel Configurationメニューで"/"キーを押下すると、コンフィギュレーションの検索を行うことも出来ますので、ご参考までに。
例) /masquerade
以上、よろしくお願いいたします。
firmproducts
ご回答有難うございました。
ピンポイントの重要情報頂き有難うございます。
お陰様で、eth0接続PCからインターネット接続が無事出来ました。
因みに
”9. ポートフォワードに設定”の2行のコマンド
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
上記コマンドはOS起動する毎に実行が必要でしょうか?
再起動したところPCから接続できなくなってしまいましたので、
上記2行を実行したところ接続出来るようになりました。
rc.localとかに入れるしかないでしょうか?
良い方法が有りましたらご教示頂けると助かります。
宜しくお願い致します。
at_takumi.mizutani
水谷です。
> ”9. ポートフォワードに設定”の2行のコマンド
> echo 1 > /proc/sys/net/ipv4/ip_forward
> iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
> 上記コマンドはOS起動する毎に実行が必要でしょうか?
> 再起動したところPCから接続できなくなってしまいましたので、
> 上記2行を実行したところ接続出来るようになりました。
>
> rc.localとかに入れるしかないでしょうか?
> 良い方法が有りましたらご教示頂けると助かります。
>
> 宜しくお願い致します。
まず、/proc/sys/net/ipv4/ip_forward は /etc/sysctl.conf の以下の行のコメントを外すことで設定の保持ができます。
net.ipv4.ip_forward=1
次に、iptablesは再度ルールの設定をして頂いた上で、以下のコマンドを実行することでルールの保持ができます。
netfilter-persistent save
以上、よろしくお願いいたします。
firmproducts
at_takumi.mizutani
2022年9月9日 17時17分
水谷です。
> ネットで調べてみると、
> 以下コマンドで legacy iptablesへ更新している記事が有りましたので、
> 試したのですが
> sudo update-alternatives --config iptables
>
> 0,1,2の選択番号を聞いてきたので、
> 1を入力したのですが、
> -bash: 1: command not found
> となり、受け付けて貰えませんでした。
数字を入力する前にEnterが押されてしまっていないでしょうか。
再度同じ手順で試していただくか、以下のコマンドでも同様に legacy iptables へ更新できますので一度お試しいただけますか。
update-alternatives --set iptables /usr/sbin/iptables-legacy
> そもそも、eth0(有線LAN)からLTE(ppp0)経由で外部に接続する方法として、
> 上記方法で合ってますでしょうか?
>
> 詳しい設定方法のリンク等ご教示頂けますと助かります。
>
> 宜しくお願い致します。
G3 の記事ですが、こちらが参考になるかと思いますのでご参照ください。
https://armadillo.atmark-techno.com/blog/615/6736
記事内の「2. 3G/LTEの設定」「3. 有線LANの設定」については、Armadillo-IoT ゲートウェイ A6にはNetworkManagerが
インストールされておりませんので、Armadillo-IoT ゲートウェイ A6 製品マニュアル「6.2.4. LTE の設定」「6.2.2. 有線 LAN の設定方法」をご参照ください。
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…
以上、よろしくお願いいたします。