質問
FreeBSD 12-CURRENTを実行しているコンピュータを使用してオープンWiFiに接続しようとしています。
通常、wifi-start.sh
インターネットに接続したいときはいつでもこのプログラムを実行してください(下記参照)。 WPAネットワークでは動作しますが、オープンネットワークでは多くの問題があります。dhclient
設定されたオープンネットワークに接続し/etc/wpa_supplicant.conf
、DHCPを介してIPアドレスを受信する機能。ただし、後でキャプティブポータルにアクセスしてログインできませんでした。
時には開けるだけで十分http://neverssl.comブラウザでは動作しますが、常に動作するわけではありません。
設定
/boot/loader.conf:
if_iwm_load="YES" iwm3160fw_load="YES"
/etc/rc.conf
local_unbound_enable="YES"
/etc/resolvconf.conf
# This file was generated by local-unbound-setup. # Modifications will be overwritten. resolv_conf="/dev/null" # prevent updating /etc/resolv.conf unbound_conf="/var/unbound/forward.conf" unbound_pid="/var/run/local_unbound.pid" unbound_service="local_unbound" unbound_restart="service local_unbound reload"
/etc/wpa_supplicant.conf:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=wheel network={ ssid="Open Network" key_mgmt=NONE }
Wi-Fi-start.sh:
wlandev="${wlandev:-${1:-wlan0}}" device="${device:-${2:-iwm0}}" if ! ifconfig "$wlandev" 1>&2 2>/dev/null; then sudo ifconfig "$wlandev" create wlandev "$device" else sudo service netif restart fi sudo ifconfig "$wlandev" up sudo wpa_supplicant -B -i "$wlandev" -c /etc/wpa_supplicant.conf sudo dhclient "$wlandev"
デバイスを構成してネットワークに接続するために使用するスクリプト
詳細
UbuntuとmacOSでの設定は簡単なので、次のようになります。
- ルーターの問題ではないと思います。
- FreeBSDを正しく設定することが可能でなければなりません。
Wi-FiデバイスはIntel Corporation Dual Band Wireless-AC 3160なので、iwm(4)ドライバを使用してください。
xconsoleエラー
wifi-start.sh
これは、コンソールの実行後にdhclient
放棄した後にコンソールに表示されるエラーです。 2番目にスクリプトを実行したときのdhclient
アドレスとxconsole
。ただし、この質問とは関係ないかもしれません。
Ethernet address: 34:e6:ad:16:bf:66 iwm_auth: failed to set multicast iwm_newstate: could not move to auth state: 35 dumping device error log Start Error Log Dump: Status: 0x3, count: 6 0x0000090A | ADVANCED_SYSASSERT 080000B0 | trm_hw_status0 00000000 | trm_hw_status1 00000B30 | branchlink2 000148E0 | interruptlink1 00000000 | interruptlink2 DEADBEEF | data1 DEADBEEF | data2 DEADBEEF | data3 001CA815 | beacon time 002362E3 | tsf low 00000000 | tsf hi 00000000 | time gp1 002362E4 | time gp2 00000000 | uCode revision type 00000011 | uCode version major 000561E2 | uCode version minor 00000164 | hw version 00809004 | board version 0000001C | hcmd 00022002 | isr0 00000000 | isr1 00000002 | isr2 00417C81 | isr3 00000000 | isr4 00004110 | last cmd Id 00000000 | wait_event 00000080 | l2p_control 00450020 | l2p_duration 0000003F | l2p_mhvalid 00000000 | l2p_addr_match 00000007 | lmpm_pmg_sel 15061432 | timestamp 00003038 | flow_handler driver status: tx ring 0: qid=0 cur=1 queued=1 tx ring 1: qid=1 cur=0 queued=0 tx ring 2: qid=2 cur=0 queued=0 tx ring 3: qid=3 cur=0 queued=0 tx ring 4: qid=4 cur=0 queued=0 tx ring 5: qid=5 cur=0 queued=0 tx ring 6: qid=6 cur=0 queued=0 tx ring 7: qid=7 cur=0 queued=0 tx ring 8: qid=8 cur=0 queued=0 tx ring 9: qid=9 cur=33 queued=1 tx ring 10: qid=10 cur=0 queued=0 tx ring 11: qid=11 cur=0 queued=0 tx ring 12: qid=12 cur=0 queued=0 tx ring 13: qid=13 cur=0 queued=0 tx ring 14: qid=14 cur=0 queued=0 tx ring 15: qid=15 cur=0 queued=0 tx ring 16: qid=16 cur=0 queued=0 tx ring 17: qid=17 cur=0 queued=0 tx ring 18: qid=18 cur=0 queued=0 tx ring 19: qid=19 cur=0 queued=0 tx ring 20: qid=20 cur=0 queued=0 tx ring 21: qid=21 cur=0 queued=0 tx ring 22: qid=22 cur=0 queued=0 tx ring 23: qid=23 cur=0 queued=0 tx ring 24: qid=24 cur=0 iwm_newstate: Failed to remove station: 35 iwm_mvm_mac_ctxt_changed: called; uploaded = 0 iwm_newstate: Failed to change mac context: 5 iwm_newstate: Failed to remove channel ctx: 22 iwm_newstate: failed to update power management
ifconfig -v wlan0
結果は次のとおりです
ifconfig -v wlan0
。wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 34:e6:ad:16:bf:66 hwaddr 34:e6:ad:16:bf:66 inet6 fe80::36e6:adff:fe16:bf66%wlan0 prefixlen 64 tentative scopeid 0x2 inet 10.1.2.41 netmask 0xffffff00 broadcast 10.1.2.255 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g status: associated ssid "Open Network" channel 11 (2462 MHz 11g) bssid 4e:5e:0c:eb:8e:ad regdomain FCC country US anywhere -ecm authmode OPEN -wps -tsn privacy OFF deftxkey UNDEF powersavemode OFF powersavesleep 100 txpower 30 txpowmax 50.0 -dotd rtsthreshold 2346 fragthreshold 2346 bmiss 10 11a ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 11b ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11g ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 turboA ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 turboG ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 sturbo ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 11na ucast NONE mgmt 12 MCS mcast 12 MCS maxretry 6 11ng ucast NONE mgmt 2 MCS mcast 2 MCS maxretry 6 half ucast NONE mgmt 3 Mb/s mcast 3 Mb/s maxretry 6 quarter ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11acg ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11ac ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 scanvalid 60 -bgscan bgscanintvl 300 bgscanidle 250 roam:11a rssi 7dBm rate 12 Mb/s roam:11b rssi 7dBm rate 1 Mb/s roam:11g rssi 7dBm rate 5 Mb/s roam:turboA rssi 7dBm rate 12 Mb/s roam:turboG rssi 7dBm rate 12 Mb/s roam:sturbo rssi 7dBm rate 12 Mb/s roam:11na rssi 7dBm MCS 1 roam:11ng rssi 7dBm MCS 1 roam:half rssi 7dBm rate 6 Mb/s roam:quarter rssi 7dBm rate 3 Mb/s roam:11acg rssi 7dBm rate 64 Mb/s roam:11ac rssi 7dBm rate 64 Mb/s -pureg protmode CTS -ht -htcompat -ampdu ampdulimit 64k ampdudensity NA -amsdu -shortgi htprotmode RTSCTS -puren -smps -rifs -stbc -ldpc -vht -vht40 -vht80 -vht80p80 -vht160 wme -burst -dwds roaming MANUAL bintval 100 AC_BE cwmin 4 cwmax 10 aifs 3 txopLimit 0 -acm ack cwmin 4 cwmax 10 aifs 3 txopLimit 0 -acm AC_BK cwmin 4 cwmax 10 aifs 7 txopLimit 0 -acm ack cwmin 4 cwmax 10 aifs 7 txopLimit 0 -acm AC_VI cwmin 3 cwmax 4 aifs 2 txopLimit 94 -acm ack cwmin 3 cwmax 4 aifs 2 txopLimit 94 -acm AC_VO cwmin 2 cwmax 3 aifs 2 txopLimit 47 -acm ack cwmin 2 cwmax 3 aifs 2 txopLimit 47 -acm groups: wlan
http://neverssl.comXML
また、私は次から興味深いXMLレスポンスを受けました。http://neverssl.com次の手順を実行するとき:
- 接続済みオープンネットワーク(
dhclient
アドレスが正常に受信されました)。 - 開こうとするhttp://neverssl.com。ロード中に停止します。
- 実際に利用可能な他のWi-Fiに再接続します。
- それを見てください(これhttp://neverssl.comタブをクリックして以下を確認してください。
XMLファイルにリンクされたスタイル情報がないようです。文書ツリーは以下の通りです。
-<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>3FD41663CABFE8CD</RequestId> -<HostId> dsczv0lxKSFmBneOVS5nm5Ru5D3Br1bCRCqqj25WZVb1BzKI9McRR+djm9IrmgXHVIk/mdUCvfM= </HostId> </Error>
- 接続済みオープンネットワーク(
/etc/resolv.confの調整
誰かが設定し、
/etc/resolv.conf
実行する必要があると提案しました。結果は次のとおりです。resolvconf -i
resolvconf -l
/var/db/dhclient.leases.wlan0 内部:
lease { interface "wlan0"; fixed-address 10.1.236.56; next-server 10.1.236.1; option subnet-mask 255.255.255.255; option routers 10.1.236.1; option domain-name-servers 10.1.236.1,194.204.159.1; option dhcp-lease-time 900; option dhcp-message-type 5; option dhcp-server-identifier 10.1.236.1; renew 5 2017/7/7 16:10:15; rebind 5 2017/7/7 16:15:49; expire 5 2017/7/7 16:17:45; }
出力
dhclient wlan0
:wlan0: no link .... got link DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPACK from 10.1.236.1 bound to 10.1.236.56 -- renewal in 450 seconds.
追加しても何も変わらない
nameserver 10.1.236.1
ようです。/etc/resolv.conf
出力
resolvconf -i
:wlan0
出力
resolvconf -l
:# resolv.conf from wlan0 nameserver 10.1.236.1 nameserver 194.204.159.1
いつでも開くことができません。http://neverssl.comまたはhttp://google.pl。また、依存ポータルにリダイレクトすることはできません。
結果
ifconfig -v wlan0
:wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 34:e6:ad:16:bf:66 hwaddr 34:e6:ad:16:bf:66 inet6 fe80::36e6:adff:fe16:bf66%wlan0 prefixlen 64 tentative scopeid 0x2 inet 10.1.236.56 netmask 0xffffffff broadcast 10.1.236.56 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g status: associated ssid "Open Hotspot" channel 6 (2437 MHz 11g) bssid 9c:1c:12:0b:10:73 regdomain FCC country US anywhere -ecm authmode OPEN -wps -tsn privacy OFF deftxkey UNDEF powersavemode OFF powersavesleep 100 txpower 30 txpowmax 50.0 -dotd rtsthreshold 2346 fragthreshold 2346 bmiss 10 11a ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 11b ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11g ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 turboA ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 turboG ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 sturbo ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 11na ucast NONE mgmt 12 MCS mcast 12 MCS maxretry 6 11ng ucast NONE mgmt 2 MCS mcast 2 MCS maxretry 6 half ucast NONE mgmt 3 Mb/s mcast 3 Mb/s maxretry 6 quarter ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11acg ucast NONE mgmt 1 Mb/s mcast 1 Mb/s maxretry 6 11ac ucast NONE mgmt 6 Mb/s mcast 6 Mb/s maxretry 6 scanvalid 60 -bgscan bgscanintvl 300 bgscanidle 250 roam:11a rssi 7dBm rate 12 Mb/s roam:11b rssi 7dBm rate 1 Mb/s roam:11g rssi 7dBm rate 5 Mb/s roam:turboA rssi 7dBm rate 12 Mb/s roam:turboG rssi 7dBm rate 12 Mb/s roam:sturbo rssi 7dBm rate 12 Mb/s roam:11na rssi 7dBm MCS 1 roam:11ng rssi 7dBm MCS 1 roam:half rssi 7dBm rate 6 Mb/s roam:quarter rssi 7dBm rate 3 Mb/s roam:11acg rssi 7dBm rate 64 Mb/s roam:11ac rssi 7dBm rate 64 Mb/s -pureg protmode CTS -ht -htcompat -ampdu ampdulimit 8k ampdudensity NA -amsdu -shortgi htprotmode RTSCTS -puren -smps -rifs -stbc -ldpc -vht -vht40 -vht80 -vht80p80 -vht160 wme -burst -dwds roaming MANUAL bintval 100 AC_BE cwmin 4 cwmax 10 aifs 3 txopLimit 0 -acm ack cwmin 4 cwmax 10 aifs 3 txopLimit 0 -acm AC_BK cwmin 4 cwmax 10 aifs 7 txopLimit 0 -acm ack cwmin 4 cwmax 10 aifs 7 txopLimit 0 -acm AC_VI cwmin 3 cwmax 4 aifs 2 txopLimit 94 -acm ack cwmin 3 cwmax 4 aifs 2 txopLimit 94 -acm AC_VO cwmin 2 cwmax 3 aifs 2 txopLimit 47 -acm ack cwmin 2 cwmax 3 aifs 2 txopLimit 47 -acm groups: wlan
また、
echo nameserver 10.1.236.1 | resolvconf -a wlan0
以下を返します。cp: /dev/null.bak: Operation not supported
参考資料と参考事項
- /var/db/dhclient.leases.wlan* ファイルには興味深い情報が保存される場合があります。
- /etc/resolv.confが空です。
答え1
開こうとするどのWi-Fi接続を設定したら、FireFoxのサイトにアクセスしてください。 Firefox は関連プロトコルを理解し、認証ページを表示します。
その時点から正しく認証した後、通常どおり依存ポータルの背後にあるサービスにアクセスできます。
8.8.8.8の代わりにDHCP提供のDNSサーバーを使用する必要があります。
私のFONキャプティブポータルで動作します。
答え2
説明する
問題は、/etc/resolvconf.conf
インストール中に自動的に作成された構成にあります。
設定によりlocal_unbound_enable="YES"
FreeBSD が追加されたことがわかりました。
resolv_conf="/dev/null" # prevent updating /etc/resolv.conf
に変更すると、/etc/resolvconf.conf
修正が防止されます/etc/resolv.conf
。したがって、私のシステムは常にホットスポットが提供するDNSサーバーの代わりにルートの1つにDNSクエリを送信しているようです。
解決策
resolv_conf="/dev/null"
から削除されました/etc/resolvconf.conf
。システムは自動的に
/etc/resolv.conf
その時間に戻ります。local_unbound_enable="YES"
から削除されました/etc/rc.conf
。(オプション)を実行します
service local_unbound stop
。