Nodogsplashは、認証されたクライアントへのインターネット配信を停止します。

Nodogsplashは、認証されたクライアントへのインターネット配信を停止します。

私はHostapdを使用してワイヤレスアクセスポイントを設定しました。dhcpにはdnsmasqを、依存ポータルにはnodogsplashを使用しています。初期設定では、すべてが期待どおりに機能します。数日後にもう一度テストしてみると、クライアントが認証されるとnodogsplashでクライアントが認証されたと報告しましたが、クライアントを介してインターネットに接続しようとしたところ、接続にはなりませんでした。 nodogsplashなしでこれを行う場合は、次のルールを手動で追加してください。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

クライアントはインターネットにアクセスできます。

構成ファイルまたは依存ポータルページでは何も変更されませんでした。

クライアントを認証する部分であるnodogsplash出力で最も詳細なモードを有効にしました。

[5][Thu Jun 18 12:44:19 2020][2075](src/fw_iptables.c:839) Authenticating 10.0.10.160 64:cc:2e:d6:a5:a4
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:90) Executing command: iptables --wait -t mangle -A ndsOUT -s 10.0.10.160 -m mac --mac-source 64:cc:2e:d6:a5:a4 -j MARK --or-mark 0x30000 
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:93) Setting default SIGCHLD handler SIG_DFL
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:90) Executing command: iptables --wait -t mangle -A ndsINC -d 10.0.10.160 -j MARK --or-mark 0x30000
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:93) Setting default SIGCHLD handler SIG_DFL
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:90) Executing command: iptables --wait -t mangle -A ndsINC -d 10.0.10.160 -j ACCEPT
[7][Thu Jun 18 12:44:19 2020][2075](src/util.c:93) Setting default SIGCHLD handler SIG_DFL 
[7][Thu Jun 18 12:44:19 2020][2075](src/auth.c:288) Unlocking client list
[7][Thu Jun 18 12:44:19 2020][2075](src/auth.c:288) Client list unlocked
[5][Thu Jun 18 12:44:19 2020][2075](src/http_microhttpd.c:459) Client [64:cc:2e:d6:a5:a4, 10.0.10.160] authenticated
[7][Thu Jun 18 12:44:23 2020][2075](src/http_microhttpd.c:317) access: GET /nodogsplash_auth/ 
[7][Thu Jun 18 12:44:23 2020][20751(src/main.c:97) SIGCHLD handler: Trying to reap a child
[7][Thu Jun 18 12:44:23 2020][20751(src/main.c:103) SIGCHLD handler: waitpid(): No child exists now. 
[7][Thu Jun 18 12:44:23 2020][2075](src/http_microhttpd.c:317) access: GET /splash.css
[7][Thu Jun 18 12:44:23 2020][2075](src/main.c:97) SIGCHLD handler: Trying to reap a child
[7][Thu Jun 18 12:44:23 2020][2075](src/main.c:103) SIGCHLD handler: waitpid(): No child exists now.

SIGCHLDに何が起こっているのか分からないが、それ以外には何の問題も報告されていないようです。

私が使用しているツールの構成には何も変更されていないため、これは基本システム(Kali Linux)の一部の変更によって発生する可能性があります。この問題を解決する方法についてのアイデアはありますか?

アップデート1

tcpdumpを使用してアクセスポイントのiface(wlan0)とインターネットアクセスが可能なインターフェイス(eth0)の2つのインターフェイスでトラフィックを調べると、パケットは破棄されません。だから私の考えでは、Kaliシステムから応答が再送信されないため、クライアントがインターネットにアクセスできないということです。今回もルーティングテーブルの設定方法を変更していません。 wlan0インターフェイスにIPとネットマスクを割り当てました。

ifconfig wlan0 up 10.0.10.1 netmask 255.255.255.0

パスを設定します。

route add -net 10.0.10.0 netmask 255.255.255.0 gw 10.0.10.1

返信が返送されない理由を特定する必要があります。

ベストアンサー1

nodogsplashが機能するにはNATが必要です。したがって、nodogsplashを実行する前に、次のiptablesルールを追加する必要があります。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

おすすめ記事