Linuxサーバーをルーターとして使用する - 問題

Linuxサーバーをルーターとして使用する - 問題

私はLinuxに初めてアクセスし、私の環境で何かをテストしたいと思います。
2つのネットワークを接続するためにLinuxサーバー(fedora)を設定しました。
サーバーには3番目のネットワークカードがあります(virtualboxを介してホストと共有)。
Linuxサーバーで正常に移動できますが、クライアントで8.8.8.8または同様のpingを試しても機能しません。
クライアントのデフォルトルーティングはiptablesでicmpを許可します。

私は何を見逃していますか?

ベストアンサー1

上記のように、より多くの情報を提供すると、より良い結果が得られます。以下の提案されたソリューションは、iptables入出力トラフィックを許可するように設定されていると予想されます。それにもかかわらず、おそらく2つを見逃しているでしょう。

転送されたトラフィックを明示的に許可する必要があります。次の行を追加するには、/etc/sysctl.conf`を変更する必要があります。

net.ipv4.ip_forward=1

また、発信トラフィックを偽装する必要があります。マスカレーディングは、NAT接続ネットワークカードを持つホストにすべてのパケットの発信IPアドレスを書き換えます。以下のようにマスカレーディングを有効にできます。 NATインターフェイス名をメモしてください。

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

eth0NATインターフェイスの名前に変更します。

トラブルシューティングのヒント

  1. クライアント上のLinuxサーバーのホストインターフェイスアドレスをpingします。成功すると、クライアントはデフォルトゲートウェイにアクセスできます。
  2. クライアント上のLinuxサーバーのnatインターフェースアドレスをpingします。成功すると、iptables firewallICMP トラフィックが許可されます。そうでない場合は、iptables firewall設定を確認する必要があります。
  3. 上記の手順を完了した後に残ったのはoutgoing rules合計だけですpostrouting masquerade。もう一度確認したい場合があります。

おすすめ記事