したがって、私はRaspberry OS Buster Liteを使用して次のレシピに従いました。
https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md
私のラップトップをPiに接続し(hostapdが機能します)、問題なくIPを取得し(dhcpが機能します)、SSHで接続することもできますが、ルーティング部分は機能しません(インターネットをpingできません)。
次の行はうまくいかないようです。
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
次のコマンドは、iptables-legacy の存在について文句を言います。
sudo netfilter-persistent save
私はnftablesを使ったiptablesへの最近の変更がこの方法がうまくいかない原因だと思います。しかし、他のいくつかのソースでは、次のルーティングコマンドを使用することを提案しているので、実際にはわかりません。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
このレシピが/etc/sysctl.d/routed-ap.confを編集し、他のソースが/etc/sysctl.confを編集するという事実を追加すると、状況はさらに混乱します。
レシピで提供される方法に加えて、パスを永続化する他の方法があります。
- bashスクリプトをsystemdサービスにし、systemctlを使用します。
- iptables-restoreを使用して/etc/rc.localでbashスクリプトを実行します。
いくつかのネットワーキング/ルーティングの専門家がこの混乱した問題を説明し、この初心者のシステム管理者のためのベストプラクティスが何であるかを説明できますか?ありがとうございます!
答え1
答えはありませんが、その質問に同意します。
LOGルールを追加すると、iptables
DNSを照会するときにアクセスポイントネットワークからのトラフィックは表示されません(OPはインターネットにアクセスできないことを意味する可能性があります)。 eth0ネットワーク上のローカルサーバーは、そのIPアドレスを使用してアクセスできます。
状況を複雑にするために、pihole(上記の記事の10.10.0.103)を実行しています。 piholeはすでにdnsmasqを実行していたので、2番目のインスタンスを起動しました。
dnsmasq --port=0 --conf-file=/etc/dnsmasq.wlan0.conf
内容があります
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.3,255.255.255.0,24h
dhcp-option=6,10.10.0.103
domain=wlan
address=/gw.wlan/192.168.4.1
DNSが静かに無視される理由の提案をいただきありがとうございます!ここにコードを入力してください