私はFreeBSDコンピュータのネットワークカードにエイリアスを追加しようとしています(刑務所を使いたい)。バージョン10.2-RELEASE-p7(通常のamd64カーネル)を実行します。そのマシンはHyper-V仮想マシンで実行されていましたが、物理マシンでも同じ状況が発生しました。唯一の違いは、同じ10.2カーネルのx86(32ビット)バージョンを実行していることでした。
ネットワークインタフェースhn0の固定IPアドレスは192.168.0.51/24で、デフォルトルータは192.168.0.1です。エイリアスを追加するまで、すべてがうまく機能します。
ifconfig hn0 inet 192.168.0.200/32 alias
ifconfigに示すように、hn0にエイリアスが生成されます。
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
hn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=31b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4,TSO6>
ether 00:15:5d:00:0f:00
inet 192.168.0.51 netmask 0xffffff00 broadcast 192.168.0.255
inet 192.168.0.200 netmask 0xffffffff broadcast 192.168.0.200
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
問題は、エイリアスを設定すると、サブネット外のホストにアクセスできないことです(ホストのIPアドレスを使用しても)。たとえば、Googleドメインネームサーバーは次のとおりです。
ping 8.8.8.8
ping 8.8.8.8 (8.8.8.8): 56 data bytes
ただし、エイリアスをソースとして使用すると、何でもpingできます。
ping -S 192.168.0.200 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.0.200: 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=56 time=11.137 ms
...
刑務所の開始時にJail(8)によってエイリアスが生成された場合、エイリアスを使用する刑務所にはネットワークアクセス権がありますが、ホストにはアクセスできません。エイリアスを削除した後にホストのプライマリIPからネットワークアクセスを再取得するには、netifサービスとルーティングを再起動する必要がありました。
刑務所が実行されているときは、IPエイリアスを使用してsshで接続またはpingできます。
外部ノードのIPを使用してpingを実行できないという事実に基づいて、ルーティングに問題があると推測します。ボックスがDNSサーバーにアクセスできないため、名前解決は機能しません。エイリアスを追加する前のnetstat -rn出力は次のとおりです。
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGS hn0
127.0.0.1 link#1 UH lo0
192.168.0.0/24 link#2 U hn0
192.168.0.51 link#2 UHS lo0
エイリアスを作成した後:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGS hn0
127.0.0.1 link#1 UH lo0
192.168.0.0/24 link#2 U hn0
192.168.0.51 link#2 UHS lo0
192.168.0.200 link#2 UHS lo0
192.168.0.200/32 link#2 U hn0
IPv6 値を追加して IPv6 を無効にしたため、省略されました。
ipv6_network_interfaces="none"
ipv6_activate_all_interfaces="NO"
/etc/rc.confへ
私はネットワーク設定の専門家ではありませんが、刑務所やIPエイリアスについて見つけることができるすべてを読んでいましたが、役に立つものは見つかりませんでした。おそらく私がマイナーなものを見落としているのかもしれませんが、ホストシステムのネットワークアクセスを妨げるものが何であるかわかりません。
ベストアンサー1
ネットマスクが広すぎます。試してみてください。
ifconfig hn0 inet 192.168.0.200/24 alias
エイリアスは通常同じネットワーク上になければなりません。