たとえば、サブネット172.20.1.0/24を持つネットワークがあります。このネットワークには、アクセスしようとする組み込みデバイスが1つあります。http://192.168.1.1、これはハードコードされています。ネットワークに物理的な変更を加えずに、そのデバイスが応答を取得できるようにしたいと思います。
私が試したのは、そのデバイスに静的ルートを追加することでした
$ route add -host 192.168.1.1 dev eth0
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.1 * 255.255.255.255 UH 0 0 0 eth0
そして、ネットワーク上の 1 台の PC にその静的 IP アドレスを追加で設定します。これで、デバイスから ping を実行できるようになりましたが、残念ながら、インターフェイスを明示的に指定した場合のみ可能です。
ping 192.168.1.1 # doesnt work
ping -I eth0 192.168.1.1 # works
また、その PC 上の Web サーバーにもまだアクセスできません。たとえばルーターを導入せずに、その IP アドレスをさらにアクセス可能にするにはどうすればよいでしょうか?
答え1
192.168.1.1/24
が設定されているのと同じインターフェースにIPエイリアスを追加する必要があります。カーネルは直接接続されたルートを自動的に追加します。次に、、などのWebサーバーを設定して、Webページをサーバーできるようにする172.20.1.0/24
必要があります。nginx
apache
lightttpd
http://192.168.1.1