実現したいこと
ローカルIPアドレス(クラスC)で、ゲートウェイとは第3オクテットが異なるIPアドレスが振られた端末から、WAN側へアクセスしたい。
前提
環境は以下の通りです。
- サブネット: 255.255.240.0(/20)
名前 IPアドレス ゲートウェイ(ONU) 192.168.1.1 Linux 192.168.1.2 iPad 192.168.15.1
一般にローカルIPアドレスのクラスCでは「254個の割り当てが可能」とされていますが、サブネットを弄れば254個以上でも利用できるのではないでしょうか。
発生している問題・エラーメッセージ
これを私の環境で検証したところ、以下の問題が発生しました。
- 第3オクテットがゲートウェイと異なる端末(表ではiPad)のみ、WAN側へのアクセスが通らない
これは一体どういうことなのでしょうか。ご教示ください。
試したこと
- 端末の再起動
- IPアドレスの再割り当て
- 第3オクテットが「1」になるよう設定し直せば、iPadはすぐにWAN側へ接続できる。
- 第3オクテットが「1」以外になるよう設定し直せば、iPadはすぐにWAN側へ接続できなくなる。
補足情報(FW/ツールのバージョンなど)
Linux:Ubuntu Server 22.04.2 LTS
iPad:iPad OS 16.3.1
不足があれば補足いたします。
何卒よろしくお願いします。
192.168のサブネットは普通は255.255.255.0ですが255.255.240.0にしている理由はありますか?
特に240である必要はないのですが、Linux系を192.168.5.x、macOS系を192.168.10.xなどとして、第3オクテットの数値で区分したいと思っています。
これが255.255.255.0/24だと実現できないので、仮に4ビット分自由に弄れるよう、240にしてみたわけです。
よろしくお願いします。
ゲートウェイ(といえか家庭用ルータ)にはサブネットマスクを指定しても/24以外だと正しく動作しなかったりするモノもあるみたいですが…そのあたりは大丈夫なんですかね?
昔、なんだったかのブロードバンドルータでうまく動作してくれなったことが…。
ONUが変則的なサブネットマスクに対応していないのかもしれませんね。ONUの提供元に問い合わせるべきでしょう。
アクセスが通らないとは、なにがどうなるんでしょうか。
ONUで192.168.までは固定だろうし、クラスCなのにLAN側のマスクを255.255.240.0に出来たということですか?
ONUのLAN側のマスクが255.255.255.0なら、LAN側の宛先になってないパケットはWAN側に転送されるし、WAN側から戻ってきたパケットはLAN側の宛先になってないので無視されると思います。
その前にiPadがどう繋がってるのかわかりませんけど。
雰囲気的にONUのサブネットまで変更してないような気がしますよね
クライアント数を増やしたいなら255.255/16でいいわけですし
255.255.240/20では192.168.1と169.168.15は同じセグメントだから
各マシンが同じサブネットで運用されていればLAN側は問題ないはず
あとはルーターのルーティングテーブル次第ですかね
皆様ご丁寧にアドバイスいただき、本当にありがとうございます。
setoppu 様
質問文には記しませんでしたが、DHCPサーバを別に立てており、192.168.1.10を振っているものとします。
int32_t様
上記同様で、Synology社製NASの機能を利用しています。ONUは、IPアドレス192.168.1.1を手動設定し、DHCP機能はオフにしています。
y_waiwai様
アクセスが通らないとは、
ping www.google.com や、curl www.google.comなどのコマンドが終了しないということです。
(WAN側に出られていない状況と思っています)
dameo 様
ONUのDHCP機能は停止した上で、192.168.1.10にDHCPサーバーを立ててサブネットを変更しています。
パケットの流れは仰るとおりだと思いました。たしかに無くなってしまいますね、、
ちなみにiPadはWi-Fiモデルで、アクセスポイントに(普通に)接続しています。
yambejp 様
ONUのサブネットマスクが255.255.255.0/24に設定されておりました。この部分の変更は盲点でした。
修正してみます。
よろしくお願いします。
「アクセスポイントに(普通に)接続しています。」ではアクセスポイントがどこにあって、ONUのLAN側/WAM側どちら側に繋がっているのかすら分かりません。どれもこれもですが、正確な説明をお願いします(質問の記載で)。
例)
ONU WAN側) xxx.xxx.xxx.xxx/yy
ONU LAN側) 192.168.0.1/24
Linux 192.168.0.2/20 -> ONU LAN側のポートに接続
iPad 192.168.15.1/20 -> APにWifi接続
AP(ブリッジ)->ONU LAN側のポートに接続
クラスA/B/Cという概念は、サブネットマスクを指定する現代では、歴史的な意味しか無いです。
どこかの機器でサブネットマスクを正しく指定していないと思われます。
と思ったら、
> ONUのサブネットマスクが255.255.255.0/24に設定されておりました。この部分の変更は盲点でした。
ですか。
原則として、サブネットマスク設定は全部同じにしないと駄目です。
ONUだけ間違ってたとすると、クライアントからONUには届くが、応答が返らないので通信できないですね。「自分は相手を仲間だと思っていたが、相手は自分を仲間だと思ってなかった」みたいな。
dameo様
説明が不正確であり申し訳ありません。
お示しいただいた例に沿った表を作成しようと思いましたが、yambejp 様のご指摘を受け、ONUのサブネットマスク設定を/24から/20へ変更することで、無事接続できるようになりました。
この度は大変勉強になりました。ありがとうございました。
p.s.
「どれもこれもですが、正確な説明をお願いします」とのことですが、ネットワーク構成および「アクセスが通らない」という表現以外で不正確な箇所があればご指摘ください。
otn 様
クラスの概念は形骸化しているのですね。大変勉強になります。
全機器のIPアドレスがDHCPサーバーから払い出されているものと何処かで勘違いしていたこともあり、発見が遅れました。
サブネットマスクを揃えるという点、貴重な気付きを得ることができました。
ありがとうございました。
@質問者さん
質問内容は今からでも遅くないので全て変えてください。
クラスの形骸化は以下が詳しいです。
https://en.wikipedia.org/wiki/Classful_network
> This architecture change extended the addressing capacity of the Internet but did not prevent IP address exhaustion. The problem was that many sites needed larger address blocks than a Class C network provided, and therefore they received a Class B block, which was in most cases much larger than required. Due to the rapid growth of the Internet, the pool of unassigned Class B addresses (214, or about 16,000) was rapidly being depleted. Starting in 1993, classful networking was replaced by Classless Inter-Domain Routing (CIDR),[5][6] in an attempt to solve this problem.
ただNAT前提な数ポートしかないONUが多い中(そもそもプライベートだし)、クラスCなのに3オクテット以前まで使えると仮定するのは危険だという話です(NATの変換などでそういう仮定を入れかねない)。
回答1件
あなたの回答
tips
プレビュー