質問: dhclientは、wepを使用するwlan0では機能しません。どうすれば修正できますか? デスクトップにfreebsd9.0をインストールしています。私のワイヤレスカードはintelベース(wip)です。 bsdinstallはワイヤレスを正しくセットアップし、wlan0はwepワイヤレスネットワークに関連付けられ、ルーターによって割り当てられたdhcpアドレスを取得します。しかし、インターネットに接続できません。有線接続(fxp0インターフェイス)を使用している場合、これは発生しません。 linuxラップトップからワイヤレスで接続します。だから、それは構成の問題です。私の/etc/rc.conf:hostname="blah.." wlans_wpi0="wlan0" ifconfig_wlan0="wpa dhcp" .. 私の/etc/wpa_supplicant.conf:ctrl_interface=/var/run/wpa_supplicant eapol_version=2 ap_scan=1 fast_reauth=1 network={ ssid="{my ssid}" key_mgmt=wpa-psk proto=rsn psk="{my passphrase}" priority=2 } network={ priority=5 key_mgmt=none } すべてが正しく構成されているように見えます。つまり、ワイヤレスが関連付けられており、dhcpサーバー(ルーター兼アクセスポイント)にipアドレスが割り当てられています。ただし、ルーターにpingを実行することもできません。salil-satellite# /etc/rc.d/netif restart wlan0 stopping wpa_supplicant. waiting for pids: 429. stopping network: wlan0. wlan0: flags=8802<broadcast,simplex,multicast> metric 0 mtu 1500 ether 00:13:02:68:0e:e2 nd6 options=29<performnud,ifdisabled,auto_linklocal> media: ieee 802.11 wireless ethernet autoselect (autoselect) status: no carrier ssid "" channel 11 (2462 mhz 11g) country us authmode wpa2/802.11i privacy off txpower 0 bmiss 7 scanvalid 60 protmode cts starting wpa_supplicant. wlan0: no link ....... got link dhcprequest on wlan0 to 255.255.255.255 port 67 dhcprequest on wlan0 to 255.255.255.255 port 67 ip length 314 disagrees with bytes received 534. accepting packet with data after udp payload. dhcpack from 192.168.1.1 bound to 192.168.1.2 -- renewal in 24701 seconds. starting network: wlan0. wlan0: flags=8843<up,broadcast,running,simplex,multicast> metric 0 mtu 1500 ether 00:13:02:68:0e:e2 inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29<performnud,ifdisabled,auto_linklocal> media: ieee 802.11 wireless ethernet ofdm/36mbps mode 11g status: associated ssid salquestfl channel 11 (2462 mhz 11g) bssid 00:1b:2f:4a:6a:00 country us authmode wpa2/802.11i privacy on deftxkey undef aes-ccm 2:128-bit aes-ccm 3:128-bit txpower 0 bmiss 7 scanvalid 60 protmode cts roaming manual salil-satellite# tail /var/log/messages jul 31 23:44:44 salil-satellite dhclient[3225]: my address (192.168.1.2) was deleted, dhclient exiting jul 31 23:44:44 salil-satellite kernel: wpi0: need multicast update callback jul 31 23:44:44 salil-satellite kernel: wpi0: need multicast update callback jul 31 23:44:44 salil-satellite dhclient: new ip address (wlan0): 192.168.1.4 jul 31 23:44:44 salil-satellite dhclient: new subnet mask (wlan0): 255.255.255.0 jul 31 23:44:44 salil-satellite dhclient: new broadcast address (wlan0): 192.168.1.255 jul 31 23:44:44 salil-satellite dhclient[3213]: connection closed jul 31 23:44:44 salil-satellite dhclient[3213]: exiting. jul 31 23:44:44 salil-satellite dhclient: new routers (wlan0): 192.168.1.1 jul 31 23:44:48 salil-satellite init: getty repeating too quickly on port /dev/ttyv8, sleeping 30 secs 驚いたことの1つは、ルーティングテーブルがfxp0からwlan0に切り替える直前の方法であるということです。そこにはwlan0インターフェースについての言及はありません。salil-satellite# netstat -nr routing tables internet: destination gateway flags refs use netif expire default 192.168.1.1 ugs 0 57365 fxp0 127.0.0.1 link#10 uh 0 0 lo0 192.168.1.0/24 link#9 u 0 684 fxp0 192.168.1.3 link#9 uhs 0 0 lo0 192.168.1.4 link#11 uhs 0 0 lo0 salil-satellite# vi /etc/resolv.conf # generated by resolvconf nameserver 192.168.1.1 :q salil-satellite# ping 192.168.1.1 ping 192.168.1.1 (192.168.1.1): 56 data bytes ping: sendto: host is down ping: sendto: host is down ^c --- 192.168.1.1 ping statistics --- 4 packets transmitted, 0 packets received, 100.0% packet loss salil-satellite# ifconfig wlan0 wlan0: flags=8843<up,broadcast,running,simplex,multicast> metric 0 mtu 1500 ether 00:13:02:68:0e:e2 inet 192.168.1.4 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29<performnud,ifdisabled,auto_linklocal> media: ieee 802.11 wireless ethernet ofdm/36mbps mode 11g status: associated ssid salquestfl channel 11 (2462 mhz 11g) bssid 00:1b:2f:4a:6a:00 country us authmode wpa2/802.11i privacy on deftxkey undef aes-ccm 2:128-bit aes-ccm 3:128-bit txpower 0 bmiss 7 scanvalid 60 protmode cts roaming manual ただし、arpingを使用すると、ルーターにアクセスできます。salil-satellite# arping -i wlan0 192.168.1.1 arping 192.168.1.1 42 bytes from 00:1b:2f:4a:6a:00 (192.168.1.1): index=0 time=1.501 msec 42 bytes from 00:1b:2f:4a:6a:00 (192.168.1.1): index=1 time=1.509 msec 42 bytes from 00:1b:2f:4a:6a:00 (192.168.1.1): index=2 time=1.498 msec 42 bytes from 00:1b:2f:4a:6a:00 (192.168.1.1): index=3 time=1.490 msec 42 bytes from 00:1b:2f:4a:6a:00 (192.168.1.1): index=4 time=1.600 msec ^c --- 192.168.1.1 statistics --- ルーター側で、接続されていると思われるデバイスを確認したところ、ワイヤレスインターフェイスアドレスとそのmacアドレスが正しく表示されています。
回答: wlan0でtcpdumpを使用して着信トラフィックが表示されるかどうかを確認します。tcpdump -i wlan0 -nl 次に、arpingをインストールし、反対側のルーター(または何か)が(ipまたはmac経由で)応答しているかどうかを確認します。sudo arping -i wlan0 ip sudo arping -i wlan0 mac freebsdとmac(linuxには存在しません)には、arping(またはarping2)を使用してブロードキャストメッセージを送信するためのトリックがあります。sudo arping -i wlan0 ff:ff:ff:ff:ff:ff これは、反対側の何かが応答しているかどうかを確認するための追加の方法です。基本的に、何も応答しない場合は、wepキーを確認し、何かが応答している場合は、着信dhcpパケットがあるかどうかを確認し、そうでない場合は、dhcpサーバーを確認します(macアドレスに基づくacl制限がある可能性があります)。実行できるその他の診断コマンドは次のとおりです。dmesg | tail カーネルメッセージ(ドライバーエラーなど)がないかどうかを確認します。linuxツールがあるかどうかも確認してください:iw(man iw)。それはあなたに同じより多くのオプションと可能性を与えるかもしれません。参照: http://wireless.kernel.org/en/users/documentation/iw/ 例(wepを使用するapに接続するには):iw wlan0 connect foo keys 0:abcde d:1:0011223344). ルーターからの応答があれば、インターネットに接続しているかどうかを確認できます。ゲートウェイが正しい場合は、最初に確認してください。netstat -nr | head [ゲートウェイ]列の最初のipアドレスである必要があります。標準のping(ping ip)に応答していることを確認してください。そうでない場合は、ルーターの構成に問題があります。はいの場合は、次の方法で最も近いdnsにpingを実行してみてください。ping 4.2.2.1 応答がある場合(つまり、外部アクセスがある場合)、/ etc/resolve.confでdns構成を確認する必要があります(たとえば、次の行を追加します:nameserver 4.2.2.1)または、ルーターが適切なルーターに割り当てられているかどうかを確認します。