3Gアダプタ(eth1)からwlan0に接続

3Gアダプタ(eth1)からwlan0に接続

私のRaspberry Pi(Linuxを実行)で次のことを試しました。静的IPアドレスを持ち、着信トラフィックを許可する3Gアダプタを接続しましたが、インターフェイスeth1として表示されます。また、構成する必要があるハードウェアデバイスにWiFiアダプタが接続されています。ハードウェアデバイスには、ルータなどで使用されるインターフェイスと同様に、設定用に設定されたアクセスポイントがあります。

インターネットを介して自分のコンピュータからハードウェアデバイスにアクセスするにはどうすればよいですか?

マイコンピュータ--(インターネット)--> 3Gドングル --(eth1)--> Raspberry Pi --(wlan0)-->ハードウェアデバイス(AP)

bridge-utilsを試してみましたが、wlan0にブリッジできないとします。

ベストアンサー1

これにはブリッジが必要ない場合があります。これを行うにはいくつかの方法がありますが、最も簡単な方法の1つはiptables-j MASQUERADEターゲット」です。以下を行う必要があります。

  1. IP転送を有効にする(例:sysctl -pライン入力の実行)net.ipv4.ip_forward=1/etc/sysctl.conf

  2. eth1インターフェイスに転送されたパケットのマスカレーディングを有効にします。

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

これにより、WLANからインターネットへのアウトバウンド接続が偽装されます。

  1. 説明で説明されているように、インターネットからIPアドレス10.0.1.184のWebサーバーにインバウンドポート80およびポート443(httpおよびhttps)接続を転送するには、PREROUTINGテーブルにDNATルールを追加する必要があります。
iptables -t nat -A PREROUTING -p tcp -i eth1 -m multiport \
    --dports 80,443 -j DNAT --to 10.0.1.184

(これは1行にある可能性があります。\このサイトで水平スクロールバーを避けるためにここから切り離しました。)

ファイアウォールルール(またはデフォルトの拒否ポリシー)がパケット転送をブロックしている場合は、FORWARDテーブルにACCEPTルールが必要な場合があります。もちろん、10.0.0.0/8はプライベートネットワークであり、インターネットからルーティングされないため、WLANへのアクセスをブロックするファイアウォールルールはここでは必ずしも必要ではありません。

iptables -A FORWARD -p tcp -i eth1 -o wlan0 -d 10.0.1.184 -m multiport 
    --dports 80,443 -j ACCEPT

おすすめ記事