使用hostapdのホットスポットを作成するためにWLAN1を。インターネット上でこれを行う方法に関するガイドがあり、好きなものを見つけることができます。Daniel Bの提案に従って、bridge = br0ステートメントを省略できます。
これで、インターフェースにIPアドレスを与えて、それを立ち上げることができます:
ip addr add 192.168.1.111/24 dev wlan1
ip link set dev wlan1 up
ここで、192.168.1.111はルーターのDHCPプール外のアドレスですが、同じサブネット内にあります。
ここで、ホットスポットのクライアントのIPアドレスの範囲を決定する必要があります。これが必要であるではないので、DHCP-理由の、しかしためのルーティング(次の項目を参照してください)。メインルーターで使用されないメインLANの小さなサブネットを選択します。ルータは、範囲内のIPアドレスを配布する場合たとえば、192.168.1.2-192.168.1.100、あなたのようなものを使用する192.168.1.112/28範囲内のすべてのアドレスが含まれ、192.168.1.112-192.168.127を。
ここで、すべての重要なルートを追加します。
ip route add 192.168.1.112/28 dev wlan1
これにより、カーネルは、ルールがすでにある標準インターフェイスwlan0ではなく、正しいインターフェイスを介してwifiクライアントにパケットを送信するように指示されます。
ip route add 192.168.1.0/24 dev wlan0
これはDHCPから取得されます。繰り返しますが、それは重要です。最初のルートはより具体的であるため、2番目のルートより優先されます。これにより、カーネルはwlan1インターフェイスを使用してwifiクライアントに到達する方法を認識できます。
ここで、192.168.1.112 / 28の範囲のアドレスを配布するために、インターフェイスwlan1で動作するようにdnsmasqをセットアップする必要があります。次の/etc/dnsmasq.confファイルを使用します。
domain-needed
bogus-priv
dhcp-authoritative
interface=wlan1
server=8.8.8.8
server=8.8.4.4
expand-hosts
domain=YourLanName.lan
dhcp-range=192.168.1.112,192.168.1.127,12h
dhcp-option=3,192.168.1.1
dhcp-host=4C:E6:76:00:11:22,PC_NAME,192.168.1.119,12h
これは一目瞭然です。次のツー・最後の行は、指示のdnsmasqをゲートウェイとして渡すことがないているマシンのIP のdnsmasqが実行されているが、のIPアドレス、真のあなたのLANのルータ/ゲートウェイ。Wi-Fiクライアントがインターネットにアクセスできないようにする場合は、最後から2番目の行をスキップできます。dnsmasqを起動し、
systemctl start dnsmasq
私はあなたがsystemdにいると仮定します、そうでなければ上記は
service dnsmasq start
最後の行は、予約済み(=静的)アドレスを配布する方法を示しています。あなたのwifiクライアントの1つと192.168.1.112/28範囲外のIPアドレスに割り当てたい場合は、それを行うことができます、そのアドレスがどこにあるかをカーネルに指示することを忘れないでください:例えば、
ip route add 192.168.1.200/32 dev wlan1
インターフェースを介したIPv4トラフィックを許可することを忘れないでください。
echo 1 > /proc/sys/net/ipv4/ip_forward
そして、トラフィックをマスカレードするには、
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
この最後のコマンドは、wlan0インターフェイスを出るすべてのトラフィックがRPIから発信されたように見えることを保証します。これは、クライアントがクエリに対する応答を取得することを意味します。どのリターンパケットがRPIに属し、どのクライアントに属するかを追跡することについて心配する必要はありません。カーネルは自動的にそれを行います。
最後に、wlan0とwlan1の間のIPトラフィックのみを許可しました(これはIPv4転送の意味です)。これにより、ARPなどのレイヤー2プロトコルが除外されます。この不足を補うために、proxy-arpを使用できます。
echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/wlan1/proxy_arp
hostapd
ですか?ルーティングまたはブリッジインターネットアクセスのセットアップは、実際には余分な作業です。