質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

2回答

2909閲覧

サブネット内からインターネットにping・tracerouteが通りません

kernel

総合スコア0

Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

iptables

iptablesは、一般的なLinuxに備わっているパケットフィルタリング型のファイアウォール機能。パケットフィルタリングルールおよびネットワークアドレス変換ルールを適用することが可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2021/05/07 13:55

編集2021/05/08 06:38

前提・実現したいこと

ラズパイを用いたサブネットを構築しています。
ネットワーク構成を示すと、以下のようになります。

WAN-----家庭用ルータ-----ラズパイ(DHCPサーバ・IPforwarding,NAT機能実装)-----複数のラズパイ

ラズパイ以降でサブネットを構成します。
末端の複数のラズパイからラズパイ・家庭用ルータを経由してインターネットに接続することを目的としています。

発生している問題

末端の複数のラズパイからインターネット接続が出来ない。 ・pingはラズパイ・家庭用ルータまでは通るが、8.8.8.8やgoogle.comには届かない ・tracerouteも同様ただ、8.8.8.8を宛先にすると、以下のような表示が出力 1 ラズパイホスト名(ラズパイのIP) 0.241 ms 0.217 ms 0.222 ms 2 ラズパイホスト名(ラズパイのIP) 1333.726 ms !H 1333.665 ms !H *

サブネットを構築するうえで実施したこと

サブネットのgatewayとなるラズパイに対する
・DHCPサーバの設定
・IPforwardingの設定(/etc/sysctl.conf で net.ipv4.ip_forward=1のコメント解除)
・NATの設定
(iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT)
(iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT)

コメント

上記内容で、足りない設定・操作・見るべきポイントなど教えて頂けますと嬉しいです

追記

各ラズパイはモデル4Bを使用
OSはRaspberry PI OS を使用しています
ラズパイ親
wlan0 192.168.X.Z
eth0 10.0.0.1
ラズパイ子 10.0.0.2, 10.0.0.3 ... といった構成にしています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/05/07 14:12

どのような設定を行ってるでしょうか
HogeAnimalLover

2021/05/07 14:27

ルータ、ラズパイ親子の各IPアドレスを提示するといいと思います。
kernel

2021/05/07 14:29

ルータ親 192.168.X.X ラズパイ親 10.0.0.1 ラズパイ子 10.0.0.2 10.0.0.3 ... といった構成にしております。
TaichiYanagiya

2021/05/08 01:52

「ラズパイ親」の eth0 が 10.0.0.1、wlan0 が 192.168.X.Z でしょうか? 「NATの設定」は iptables の nat テーブル、POSTROUTING チェーンに設定すると思うのですが、設定済みなのですか?
kernel

2021/05/08 06:36

ラズパイ親のipアドレスに関しては、上記の通りです。(追記いたします) NATの設定に関しては少しあやふやな部分があります。NATに関係ありそうな部分でいえば、 ・IPforwardingの設定(/etc/sysctl.conf で net.ipv4.ip_forward=1のコメント解除) ・NATの設定 (iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT) (iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT) の設定やコマンドを実行しましたが、それらで包含しきれていないという認識でよろしいでしょうか。
guest

回答2

0

SNAT または MASQUERADE 設定が必要です。

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o wlan0 -j SNAT --to 192.168.X.Z

投稿2021/05/08 08:15

TaichiYanagiya

総合スコア12173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kernel

2021/05/08 12:38

SNATに関して、上記コマンドの実行を試みました。結果以下のようなunknown optionのエラーが出ました。 まだ自分でも調べ切れてはいませんが、このエラーの解消方法はご存じでしょうか。。 iptables v1.8.2 (nf_tables): unknown option "--to" Try `iptables -h' or 'iptables --help' for more information.
TaichiYanagiya

2021/05/08 13:25

iptables のバージョンによるのでしょう。 ("nf_tables" とあるので、OS, kernel が iptables→nftables に切り替わったバージョンと思われます) man iptables, man iptables-extensions で確認ください。たぶん、"--to-source"
kernel

2021/05/08 14:15

--to-sourceで実行した際も以下のようなエラーとなりました(man iptables-extensionsにて、--to-sourceの記述もありましたが、動作しませんでした)。 iptables v1.8.2 (nf_tables): unknown option "--to-source" Try `iptables -h' or 'iptables --help' for more information. そこで、MASQUERADEの方を試してみました。結果は以下の通りです。 iptables v1.8.2 (nf_tables): Chain 'MASQUERADE' does not exist Try `iptables -h' or 'iptables --help' for more information. また、SNATの方でも、SNATより後の部分を削除してコマンドを実行されると以下のようなメッセージが出ました。 iptables v1.8.2 (nf_tables): Chain 'SNAT' does not exist Try `iptables -h' or 'iptables --help' for more information. man iptables-extensions内のtarget extensionsの項には、MASQUERADE・SNAT共に記述があるため原因がわかりません。nftablesの方で設定を試みる方が良いのでしょうか。
kernel

2021/05/08 16:16

上記エラーは、コマンド冒頭にsudoを付けることで解消されました。お騒がせしてしまい申し訳ありません。 一方で、sudo でSNATの設定をしましたが、インターネットにはつながりません。 traceroute 8.8.8.8の結果は以下のように変化しました。 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 ラズパイホスト名 (ラズパイIP) 0.334 ms 0.345 ms 0.284 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * ラズパイホスト名 (ラズパイIP) 3086.000 ms !H * また、pingは家庭用ルータに届いていません。 traceroute google.comとした場合は、以下のような出力となりました。 google.com: 名前解決に一時的に失敗しました Cannot handle "host" cmdline arg `google.com' on position 1 (argc 1) また、現状でのiptables -L の結果は以下の通りとなっています。 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination
TaichiYanagiya

2021/05/10 06:19

「ラズパイ親」でシェルを 2つ起動し、それぞれ "tcpdump -nn -i eth0 icmp", "tcpdump -nn -i wlan0 icmp" を起動して、「ラズパイ子」から "ping (ルータのIPアドレス)" したときのパケットを確認してみましょう。 eth0 側は source IP 10.0.0.2、wlan0 側は SNAT で変換されて source IP 192.168.X.Z になっていますか?
guest

0

pingの結果とtracerouteの結果に違和感がありますね。

pingの場合は家庭用ルータまでは届くはずなのに、tracerouteの場合、家庭用ルータに届く前にエラーが出ています。

投稿2021/05/07 14:41

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kernel

2021/05/07 14:55

はい。違和感あります。例えば、 ルータを目的地としたtracerouteだと、以下のように結果が返ってくるのですが、 1 ラズパイホスト名(ラズパイIP) 0.267 ms 0.232 ms 0.216 ms 2 ルータIP(ルータIP) 6.764 ms 6.865 ms 7.680 ms 目的地を8.8.8.8とした途端 1 ラズパイホスト名(ラズパイのIP) 0.241 ms 0.217 ms 0.222 ms 2 ラズパイホスト名(ラズパイのIP) 1333.726 ms !H 1333.665 ms !H * となって、エラーが出るため困惑しています。
HogeAnimalLover

2021/05/07 16:27

ここでのラズパイは子の方ですか?ルート情報に8.8.8.8がない、の意味です。
kernel

2021/05/07 23:17

ここでのラズパイは親の方になります。 子のラズパイでのterminalでtracerouteを実行した際にラズパイ親の情報を含む上記出力が表示されました。 >ルート情報に8.8.8.8がない とは、どの端末においてのことを意味されていますでしょうか。
HogeAnimalLover

2021/05/09 15:29

失礼。他の回答を見る限り、別の可能性が濃厚です。本件は状況が不自然ですので、無視してください。ちなみに、!Hは「宛先のサブネットにまでは到達したが、当該端末へ到達できない」」というエラーです。上はこのことから推測したものですが、どうやら別問題のようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問