ping
次のコマンドで指定されたインターフェイスで作業しようとしています。
ping -I re3 192.168.1.1
私re3
はそこに存在することを知っていますifconfig
re3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether e8:de:27:01:7f:e7
inet6 fe80::eade:27ff:fe01:7fe7%re3 prefixlen 64 scopeid 0x4
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
残念ながら、ゲートウェイをpingすることはできません。
$/root: ping -I re3 192.168.1.1
ping: invalid multicast interface: `re3'
それはどういう意味ですか?
修正する
$arp 192.168.1.1
? (192.168.1.1) at (incomplete) on re3 expired [ethernet]
答え1
FreeBSDとmacosでは、この-I
フラグはLinuxで予想されるものとは異なる動作をします。マニュアルページを注意深く見てみると、次のことがわかります。
-I iface Source multicast packets with the given interface **address**.
[強調私のもの]
したがって、-I
フラグには実際にはインターフェイスではないアドレスが必要です。以下で確認できます。
$ ping -I 192.168.1.2 192.168.1.1
ただし、宛先IPアドレスがマルチキャストアドレスでない場合、それでも失敗します。
traceroute
私たち全員が知っていてLinuxで期待する動作を得るには、-S
代わりにこのフラグを使用して使用したいインターフェイスのIPアドレスを指定してください。
$ ping -S 192.168.1.2 192.168.1.1
PING 192.168.1.1 (192.168.1.1) from 192.168.1.20: 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=5.956 ms
答え2
私が知る限り、freebsdシステムの経験はあまりありませんが、pingは次のことを試みます。
ping -S 192.168.1.2 192.168.1.1
についてはARP
- arp がゲートウェイの MAC アドレスを取得できない場合、freebsd サーバーとゲートウェイの接続が失われます。
- サーバーのゲートウェイが稼働していることを確認し、2 つの間の物理接続を確認します。