WiFiからEthernetにネットワークトラフィックを転送する方法は? [コピー]

WiFiからEthernetにネットワークトラフィックを転送する方法は? [コピー]

2台のコンピュータがあります。コンピュータ1(Ubuntuデスクトップ)にはWiFi接続とイーサネットポートがあり、コンピュータ2(Ubuntuサーバー)にはイーサネットポートのみがあります。コンピュータ1は、2台のコンピュータ間のイーサネット接続を介してコンピュータ2とインターネット接続を共有したいと思います。

これまで私がしたこと:

  • イーサネットケーブルを使用して2台のコンピュータを一緒に接続しました。
  • 2台のコンピュータにLANを作成しました。
    • 各コンピュータには固定IP(設定済み/etc/netplan/*)があります。コンピュータ1はで構成され、コンピュータ2はデフォルトゲートウェイ192.168.2.1/24で構成されています。192.168.2.140/24192.168.2.1
    • どちらのコンピュータもお互いにpingを送信できます。
  • iptable私はコンピュータ1とWiFiとイーサネットインターフェイスの間でそれぞれ転送(の出力にあります)をwlp5s0設定しようとしましたが、運がありませんでした。私は構成について十分に知らないので、私が見つけたすべてのガイドはやや盲目的です。enp4s0ifconfigiptables
  • IP転送が有効になっています。sudo echo 1 > /proc/sys/net/ipv4/ip_forward

「ネットワークブリッジング」について聞いたことがありますが、この場合でも動作するかどうかはわかりません。

横に:Network Managerで「他のコンピュータと共有」オプションを使用する方法を知っています。私はそれを大きな成功として使用しました。気に入らないのは、固定IPアドレスを設定できないことです。また、コマンドラインでこれをすべて行う方法を知りたいです。

答え1

  • サーバーのデフォルトゲートウェイをデスクトップのIPアドレスに設定します。
  ip route add 0.0.0.0 via 192.168.2.1
  • デスクトップから:行を変更/proc/sys/net/ipv4/ip_forward到着1
  • iptablesで最も仮面舞踏会を設定
sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o wlp5s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlp5s0 -o enp4s0 -j ACCEPT
  • 投稿パスを追加する必要があります(グループチャットで見つかりました)。
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.139                   
  • この行のコメントを外すnet.ipv4.ipforward=1ファイルに/etc/sysctl.conf
  • iptableを保存します。
sudo iptables-save -t nat

関連情報