差分

移動先: 案内検索

TCP/IP

262 バイト追加, 2015年9月8日 (火) 07:51
/* ブリッジ・ルーター */
TCP/IPの機能が一通り使えるようになっているので、ネットワークのブリッジを構築することも、ルータ / NAT を構築することも可能です。Ethernetのインタフェースが物理的に2つあるハードウェアを構築することも可能です。ここでは実際にブリッジやルータをどう作るのかを示すことで、ブリッジやルータの機能が標準的に含まれていることを示したいと思います。  まず、Ethernetのインタフェースが物理的に2つあるハードウェア(eth0とeth1)が使え、ディストリビューションはDebain系という前提で話を進めます。
事前の用意としてブリッジを作成するためには、まずbridge-utilsをインストールしておきます。
 
<pre class="bash">
# apt-get install bridge-utils
</pre>
 インストールが終了したら、作業を行う前に、念のためインタフェースをすべてダウンさせておきましょう(br0は、まだ存在していませんが、念のため)。インストールが終了したら、作業を行う前に、念のためインタフェースをすべてダウンさせておきましょう。
<pre class="bash">
# ifconfig eth0 down
# ifconfig eth1 down
# ifconfig br0 down   さて次の手順が本番です。</pre>
次の手順でブリッジを構築します。
<pre class="bash">
# brctl addbr br0
# brctl addif br0 eth0
# ifconfig eth0 0.0.0.0 up
# ifconfig eth1 0.0.0.0 up
</pre>
# br0という名前のブリッジのインタフェースを作る。
# br0にインタフェースeth0とeth1を加える。
# eth0とeth1をIPアドレスをつけない形でup(起動)する。
まずbr0という名前のブリッジのインタフェースを作ります。そのbr0にeth0とeth1を加えます。その後にeth0とeth1をIPアドレスをつけない形でアップします。これでeth0側とeth1側のパケットが通過するようになります。これでeth0側とeth1側のパケットが通過するようになります。
==== ルータ / NAT ====
今度はルータを構築してみましょう。ルータの機能ですが、eth0側はdhcpで自動的にIPアドレスを割り振られることを前提にし、eth1側は192今度はルータを構築してみましょう。ルータの機能ですが、eth0側はdhcpで自動的にIPアドレスを割り振られることを前提にし、eth1側は192.168.32.0/24のネットワークを構築するとしましょう。前提としてはeth0側をWAN側24のネットワークを構築するとしましょう。前提としてはeth0側をWAN側/インターネット側、eth1をLAN側/ローカルネットワーク側とします。尚、作業を始めるまえはeth0もeth1もダウンしていることを前提とします。
まずNATに必要なカーネルのモジュールを読み込み、IPパケットをフォワードする設定にします。
<pre class="bash">
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>
<pre class="bash">
# dhclient eth0
# ifconfig eth1 192.168.32.1 netmask 255.255.255.0
# iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
# iptables --append FORWARD --in-interface eth1 --jump ACCEPT
</pre>
 ; 注意: 192.168.32.0/24 にはこの段階ではDHCPサーバが存在していないので、dhcpを使いネットワークアドレス取得をする前提の機材を接続しても、そのままではIPアドレスが設定されません。
== 脚注 ==