web-dev-qa-db-ja.com

Linux OSからゲートウェイを構築する方法

Linuxをネットワークルーター(ゲートウェイ)として使用するように構成したいと思います。誰かが私にこれに関するいくつかのヒントを与えることができますか? (リンクは大歓迎です!)

7
artaxerxe

単純なルーターの場合、実際に実行する必要がある手順は2つだけです。

ルーティングを有効にする

最初のステップは、カーネルでルーティングを有効にすることです。デフォルトでは、カーネルは認識しないパケットをドロップします。ルーティングを有効にすると、それらが転送されます。コンピュータの起動時に、次の2つのコマンドのいずれかを発行する必要があります。

sysctl -w net.ipv4.ip_forward=1
echo 1 >/proc/sys/net/ipv4/ip_forward

多くのディストリビューションには/etc/sysctl.confというファイルがあり、このファイルにnet.ipv4.ip_forward=1という行を入力して、コンピューターの起動時にそのコマンドを実行できます。ディレクトリ/etc/sysctl.dがある場合は、/etc/sysctl.confを編集する代わりに、そのディレクトリにファイルを追加できます。ファイルをsomething.confと呼びます。

IPv6の場合、対応する設定はnet.ipv6.conf.all.forwardingまたは/proc/sys/net/ipv6/conf/all/forwardingです。 IPv4にはnet.ipv4.conf.all.forwardingまたは/proc/sys/net/ipv4/conf/all/forwardingを使用することもできます。

ルーティングテーブルを設定する

2番目のステップは、ルーティングテーブルを設定することです。これは、実行する必要のある量に応じて、単純な場合と複雑な場合があります。単純な使用法では、各ネットワークインターフェイスのアドレスとネットマスクを構成し、routeコマンドを使用して必要な追加ルートを追加します。

単純なルーティングを超えて

パケットを書き換える必要がある場合、基本的なコマンドは iptables (IPv6の場合はip6tables)です。 (「netfilter」はカーネルパケット処理機能の名前であり、「iptables」はそれを制御するプログラムの名前です。)これはフィルタリングを探す場所ですNATなど。

複雑な設定については、 iproute2 パッケージのipコマンドをご覧ください。

まず、ルーターとして機能させるネットワークのIPを接続します。複数のネットワークインターフェイスカードを入手するか、仮想インターフェイスを構成します。
/etc/sysctl.confからのパケット転送を有効にしてから、NATのiptablesを構成する必要があります。これは 簡単なチュートリアル と同じです。

3
Aditya Patawari