次の設定を試しています。
ラズベリーパイ(eth0)<-->(eth0)ノートパソコン(wlan0)<-->インターネット
(ラズベリー用Raspbianがあります。)左側のLANはアドレス192.168.0。*を使用します。
私は現在私のラップトップで次のスクリプトを実行しています。
ifconfig eth0 up
ifconfig eth0 inet 192.168.0.1
route | grep "192\.168\.0\.0" || \
route add -net 192.168.0.0/16 dev eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F; iptables -t nat -F
iptables -t nat -A POSTROUTING ! -d 192.168.0.0/16 -o wlan0 -j MASQUERADE
killall -9 udhcpd
udhcpd -f
RaspberryのRaspbian(ほぼデフォルト)がDHCPサーバーを入手できることを願っています。 (最終構成では、Raspberryはヘッドレス設定になります。)
しかし、これは単に動作します時々。また、2つのシステムのいずれかから別のシステムにpingを送信したときにPacket filtered
応答を受け取ったり、まったく応答を受け取らない場合もよくあります。 (また、ノートブックから私が追加したパスを削除する場合もあるようです。)
私は何を忘れましたか?
ベストアンサー1
それはあなたがしたいことではありません。 2 つの異なるネットワーク インターフェイスで IP 範囲を重複することはできません。発見したように、これはパケットを転送することがあり、そうでない場合があります。また、DHCP要求は単一のLANセグメントに限定されたブロードキャストであるため、転送されません。
PCがWLANの代わりにLAN経由でインターネットに接続されている場合は、2つのethX
インターフェイスのみをブリッジできます。ただし、WLANが4アドレスモードでないと、WLANインターフェイスをLANにブリッジできません。一般的な3アドレスのWLANパケットは、PCを「中間」受信機として指定するか、RaspPiを「最終」受信機として使用します。
したがって、正しい方法は、両方のインターフェイスに異なるIP範囲(たとえば、192.168.1. * / 24(またはルーターが提供するもの)とwlan0
ノートブックの192.168.3.1 / 24(または何でも))を割り当てることです。 。eth0
その後、ノートブックからDHCPサーバーを実行して、eth0
RaspPiに192.168.55.*/24アドレスを制御して提供します。最後に、転送と偽装を有効にします。
私のPCでは、正しいdhcpd設定ファイルで次のスクリプトを使用しています。
#!/bin/bash
# pass eth0 through wlan0, using nat
modprobe nf_conntrack
modprobe nf_conntrack_ipv4
modprobe nf_nat
modprobe iptable_nat
EXTIF="wlan0"
INTIF="eth0"
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
ip link set eth0 down
ip addr flush dev eth0
ip addr add 192.168.3.1/24 dev eth0
ip link set eth0 up
/etc/init.d/isc-dhcp-server start
(systemdを使用している場合は、最後の行をsystemdコマンドで置き換えてDHCPサーバーを起動します。)