だからFreeBSDホストがあります。現在、イーサネットポートはイーサネットスイッチ(ネットワークにDHCPサーバーなし)にのみ接続されており、Wi-Fiは正しく設定され動作しています。
これは/etc/rc.conf
働きます:
# Ethernet
ifconfig_re0="DHCP"
ifconfig_re0_ipv6="inet6 accept_rtadv"
# WiFi
wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"
そのifconfig
出力を使用します(ループバックなし):
re0: 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 f8:0f:41:bf:05:49
inet6 fe80::fa0f:41ff:febf:549%re0 prefixlen 64 scopeid 0x1
inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether b8:ee:65:4f:b9:c4
inet 192.168.1.129 netmask 0xffffff00 broadcast 192.168.1.255
groups: wlan
ssid ThePromisedLan channel 6 (2437 MHz 11g ht/20) bssid b4:75:0e:9f:b4:9c
regdomain 106 indoor ecm authmode WPA2/802.11i privacy ON
deftxkey UNDEF TKIP 2:128-bit txpower 20 bmiss 7 scanvalid 60
protmode CTS ampdulimit 64k ampdudensity 8 shortgi wme burst
roaming MANUAL
media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
status: associated
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
対応するnetstat -r
出力は次のとおりです。
Routing tables
Internet:
Destination Gateway Flags Netif Expire
0.0.0.0/8 link#1 U re0
localhost link#2 UH lo0
192.168.1.0/24 link#3 U wlan0
192.168.1.129 link#3 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 localhost UGRS lo0
localhost link#2 UH lo0
::ffff:0.0.0.0/96 localhost UGRS lo0
fe80::/10 localhost UGRS lo0
fe80::%re0/64 link#1 U re0
fe80::fa0f:41ff:fe link#1 UHS lo0
fe80::%lo0/64 link#2 U lo0
fe80::1%lo0 link#2 UHS lo0
ff02::/16 localhost UGRS lo0
これは/etc/rc.conf
うまくいきません:
ただし、静的IPアドレスを使用するようにEthernetポートを変更して再起動しようとすると、Wi-Fiの動作が停止します。
# Ethernet
ifconfig_re0="inet 10.10.10.1/24"
# WiFi
wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"
対応するifconfig
出力に:
re0: 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 f8:0f:41:bf:05:49
inet 10.10.10.1 netmask 0xffffff00 broadcast 10.10.10.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
wlan0: flags=8c43<UP,BROADCAST,RUNNING,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether b8:ee:65:4f:b9:c4
groups: wlan
ssid "" channel 11 (2462 MHz 11g)
regdomain 106 indoor ecm authmode WPA1+WPA2/802.11i privacy MIXED
deftxkey UNDEF txpower 20 bmiss 7 scanvalid 60 protmode CTS wme burst
roaming MANUAL bintval 0
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: no carrier
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
対応するnetstat -r
出力は次のとおりです。
Routing tables
Internet:
Destination Gateway Flags Netif Expire
10.10.10.0/24 link#1 U re0
10.10.10.1 link#1 UHS lo0
localhost link#2 UH lo0
192.168.1.0/24 link#3 U wlan0
192.168.1.129 link#3 UHS lo0
Internet6:
Destination Gateway Flags Netif Expire
::/96 localhost UGRS lo0
localhost link#2 UH lo0
::ffff:0.0.0.0/96 localhost UGRS lo0
fe80::/10 localhost UGRS lo0
fe80::%re0/64 link#1 U re0
fe80::fa0f:41ff:fe link#1 UHS lo0
fe80::%lo0/64 link#2 U lo0
fe80::1%lo0 link#2 UHS lo0
ff02::/16 localhost UGRS lo0
重要な違いは、wlan0
静的IPを使用するようにインターフェイスを変更した後、ステータスが「No Carrier」であることです。re0
また、再起動後に設定が動作するかどうかをテストしていましたが、動作しませんでした。ただし、設定を変更して実行した後も同じ結果が得られましたservice netif restart
。最後に、DHCPを有効にした状態で起動し、re0
静的IPに切り替えて実行すると機能しservice netif restart
ませんが、再起動または実行すると機能/etc/netstart
します。
pf
障害がある。
私は何を見逃していますか?
ありがとう
答え1
良いニュース:効果がある!
より良いニュースは次のとおりです。予想される! ! !
悪いニュース:あなた嘘! ! ! ;-)
それとも質問がありますか...
コメントでより多くの情報を要求しましたが、パケットのルーティング方法を説明していません。これはあなたに些細なように見えるかもしれませんが、この質問は実際に可能な答えを示唆することです。
問題1:WPAの関連付け
時には動作するため、WPAと設定方法を理解する必要があります。私たちはこれが次のように動作するのを見ますifconfig
:
status: associated
何らかの理由でWPAが機能しない場合は、次のメッセージが表示されます。
status: no carrier
この魔法の呪文(ifconfig_wlan0="WPA DHCP"
)は、/etc/rc.conf
ネットワークサブシステムに以下を実行するように指示します。wpa_requesterそれからdhクライアントで実行されるたびに、wlan0
DHCP(dhclient)はワイヤレスネットワークに接続(wpa_supplicant)しないとIPアドレスを取得できません。
すべてのインターフェイスを再起動する必要はありません。必要なものを指定できます。
service netif restart wlan0
デバッグするには、正しい設定ファイルを使用してwpa_supplicant
デバッグモードで実行する必要があります。-d
-c
wpa_supplicant -i wlan0 -d -c /etc/wpa_supplicant.conf
すでに実行中というエラーが発生した場合は、まず終了してくださいwlan0
。これでこれを確認できます。
ps -ax | grep wpa
ps -ax | grep dhclient
次のように考えることもできます。
service netif stop wlan0
ただし、これによりインターフェイスが完全に削除されます。代わりに、ただオフにします(WPAリクエスタとDHCPは停止します)。
ifconfig wlan0 down
デバッグが完了したら、次のコマンドを使用して再度有効にします。
ifconfig wlan0 up
もう1つのオプションは、コメントアウトしてifconfig_wlan0="WPA DHCP"
インターフェイスを再起動(または再起動)することです。その後、デバッグのためにフォアグラウンドで wpa_supplicant を実行できます。
しかし、私はあなたがこれについて何の問題もないと思います。それはあなたの「嘘」です(これについては後でもう一度説明します)。ただし、低速で不安定なインターフェイスに問題がある場合は、次の問題が発生する可能性があります。/etc/rc.conf
ifconfig_wlan0="-ht WPA SYNCDHCP powersave"
ワイヤレスアダプターを搭載したノートパソコンで使用します。iwn
それ以外の場合は、定期的な接続の問題が発生します。
-ht
「高スループット(HT)」を無効にします。設定されている場合。SYNCDHCP
dhclientが戻るまで強制的に起動するようにします。これにより、続行する前にネットワークが準備されていることを確認できます。
WPAが機能していることを確認したら、市内に出る準備ができましたdhclient
。しかし、私はそれが問題がある場所だと思います。
質問2:ルーティング
netstat -4rn
ルーティングテーブルを見せてください。あなたはただ「働かない」と主張します。しかし、あなたは何がうまくいかず、何を期待したのかを説明するために何もしませんでした。それなら、多くの仮定をしなければなりません。
だから私の仮説は次のとおりです。
- どちらの場合も、ワイヤレスネットワークが機能します。
- ワイヤレスでインターネットに接続できるようにしたい。
ここに嘘があります。 2番目のケースでは、ショーではないとstatus: no carrier
主張inet
します。ifconfig
netstat -r
192.168.1.0/24 link#3 U wlan0
192.168.1.129 link#3 UHS lo0
したがって、ルーティングスタックはネットワーク192.168.1.0/24について知っており、wlan0
そのネットワークにアドレス(.129)があります。
私たちが見るとネットワーク統計(1)シンボルマーク:
H RTF_HOST Host entry (net otherwise)
S RTF_STATIC Manually added
U RTF_UP Route usable
我々は、ルートが利用可能であることを直接聞いた。これはifconfig
行がないことと一致しませんinet
。
WPAとDHCPはバックグラウンドで非同期的に実行されます。ifconfig
早く投稿した可能性があります。このルーティングテーブルを使用すると、ifconfig
状況が異なります。フォローして/var/log/messages
何が起こるのかを確認してください。service netif restart
IPアドレスを追加するときに使用すると、状況はさらに悪化します。これで再起動します。みんなネットワークインターフェース。次に、dhclientがアドレスを解放し、wpa_supplicantが切断されるまで待ちます。その後、再起動します。接続して新しいアドレスを受け取る必要があります。時間がかなりかかることがあります!re0
IPを設定している場合は、/etc/rc.conf
そのインターフェイスを再起動してくださいservice netif restart re0
。
使用するときRFC 1918アドレスを指定re0
し、そのインターフェイスに10.0.0.1(通常はゲートウェイ)を静的に割り当てると、他に何も接続されていないローカルネットワークのようです。それができます。これはあまり一般的ではありません。
最初の例では、これをDHCPに設定しました。利用可能なサーバーがないため、アドレスが設定されていません。アドレスがないと、そのインターフェイスに何もルーティングできません。その後、「幸いにも」他の利用可能なインターフェイスを介して送信されます。
2番目の例では、ワイヤレスネットワークが機能しており、2つのネットワークが定義されているとします。
10.10.10.0/24
192.168.1.0/24
次のアドレスにpingを送信できると確信しています。
ping 127.0.0.1
ping 10.0.0.1
ping 192.168.1.129
ping 192.168.1.1
しかし、テスト方法を示していないので、推測しかできません。これらのいずれかが失敗した場合、両方とも貴重なデバッグ情報を提供します。
127.0.0.1が機能しない場合は、IPスタック/ファイアウォールに問題がある可能性があります。 10.0.0.1が機能しない場合、通常はファイアウォールの問題です(しかし、pfは存在しないか、ここではiptablesと仮定します)。これは、ローカルネットワーク上の独自のアドレスであるためです。他の10.0.0.xアドレスを知っている場合(ローカル/ 24があるため)、ネットワークが正しく機能していることを確認できます。 192.168.1.129と同じです。これは私たちのユニークなアドレスであり、機能する必要があります。本当に興味深いのは192.168.1.1ですが、これは私たちのワイヤレスネットワークのルーターと推定されます。機能している場合は、そのネットワークにも接続できることがわかります。まれに、ping(ICMP ECHO)に応答しないように設定できますが、これはまれです。そして私の仮定はこれがうまくいくということです。
それでは、世界の他の地域とつながる面白い部分を試してみましょう。あなたが示したことに基づいて、私の推測では、次のような結果が得られます。
$ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
ping: sendto: No route to host
これが私たちの喫煙銃になります。私たちは、これらのネットワークがどこにあるかを知っているので、10.0.0.0/24と192.168.1.0/24に到達できると確信しています。しかし、コンピュータは、残りをどこに送るのか、どうすればわかりますか?
現在の仮定が正しい場合は、既知のローカルネットワークの一部ではないすべてのパケットをどこに送信したいかを知ることができます。デフォルトパスを追加できます。/etc/rc.conf
defaultrouter="192.168.1.1"
デフォルトルートを設定すると、ルーティングテーブル()に次default
のルートが表示されます。Destination
netstat -4rn
コンピュータが有線ネットワーク上の10.0.0.0/24のルーターとして機能し、ワイヤレスでインターネットにアクセスできるようにするには、次の作業も必要です。
gateway_enable="YES"
FreeBSD マニュアルでルーティングについてさらに読むことができます。31.2。ゲートウェイとルーティング
質問3:あなたの家
あなたは同じですnetif
。/etc/netstart
内部を見て、netstart
それがどれほど単純なのか、しかしどれくらいの仕事をしているのか見てください。あなたの問題はルーティングに関連し、実際に必要なものは次のとおりです。
# service netif restart
# service routing restart
本当の教訓
私はこの質問に答えるのに多くの時間を費やしました。私はこの質問をしませんでした。なぜなら興味深い質問だからです。しかし、OPは質問を更新するために一生懸命働いたので、努力を見せたいと思いました。
この質問は、ここでよく受け取る非常に典型的な簡単なトラブルシューティングの質問です。それから、この質問に答えるためにどんなステップを踏んだのかを見たいです。おそらく幸運なので、推測が正しいかもしれません。しかし、どれだけの仮定と推測が必要かを明確にすることを願っています。問題をもう少し注意深く扱ったのであれば、これはすべて避けられたでしょう。
あなたが学ぶべき教訓:
- 自分の家庭に基づいて人々に質問に答えるように頼まないでください。
- 何がうまくいくのか、何がうまくいかないのか調べてください。テスト方法と期待される結果を明確に説明してください。
- 正確なトラブルシューティング手順を示します。
- 関連性があると思われる設定を選択しないでください(例:/etc/rc.conf)。
2人の異なる人がどのようにしてより多くの情報を要求するかに注意してください。あなたが事前に提供する情報がいかに少ないか。そして、更新時に要求されたすべてを提供していませんでした。質問に時間を費やすほど、人々は質問に答えるのに時間を費やします。