差分

移動先: 案内検索

TCP/IP

2,726 バイト追加, 2014年11月15日 (土) 15:25
/* ifconfig */
これはeth0のインタフェースを利用可能にします。
# ifconfig eth0 192.168.201.3/24 netmask 255.255.255.0
こう実行することによってeth0にはIPアドレス192.168.1.3、ブロードキャスト:192.168.1.255、マスク:255.255.255.0が設定されます。
ここではeth0に設定していますが物理的に1つのNICに複数のIPアドレスを付与できます。むかしならNICここではeth0に設定していますが物理的に1つのNICに複数のIPアドレスを付与できます。むかしならNIC(network interface card)に1つのIPアドレスしか付加できませんでしたが、複数のIPアドレスが設定する場合、eth0に1つのIPアドレスしか付加できませんでしたが、複数のIPアドレスが設定する場合、eth0:1、eth0:2といった形でMACアドレスが同じであるeth0のインタフェースが作られます。2といった形でMACアドレスが同じであるeth0のインタフェースが作られます。
$ sudo ifconfig eth0:1 192.168.100.99/24 netmask 255.255.255.0 $ ifconfig eth0:1 ifconfig eth0:1 eth0:1 Link encap:イーサネット ハードウェアアドレス 14:da:e9:71:cd:35
inetアドレス:192.168.100.99 ブロードキャスト:192.168.100.255 マスク:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
割り込み:47 ベースアドレス:0xc000
 
 
 
=== ブリッジ・ルーター ===
 
 
TCP/IPの機能が一通り使えるようになっているので、ネットワークのブリッジを構築することも、ルータ / NAT を構築することも可能です。Ethernetのインタフェースが物理的に2つあるハードウェア(eth0とeth1)が使え、ディストリビューションはDebain系という前提で話を進めます。
 
念のため作業を行う前に、インタフェースをすべてダウンさせておきましょう(br0は、まだ存在していませんが、念のため)。
 
# ifconfig eth0 down
# ifconfig eth1 down
# ifconfig br0 down
 
 
 
==== ブリッジ ====
 
事前の用意としてブリッジを作成するためには、まずbridge-utilsをインストールしておきます。
 
# apt-get install bridge-utils
 
 
さて次の手順が本番です。
 
# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 eth1
# ifconfig eth0 0.0.0.0 up
# ifconfig eth1 0.0.0.0 up
 
まずbr0という名前のブリッジのインタフェースを作ります。そのbr0にeth0とeth1を加えます。その後にeth0とeth1をIPアドレスをつけない形でアップします。これでeth0側とeth1側のパケットが通過するようになります。
 
 
==== ルータ / NAT ====
 
今度はルータを構築してみましょう。ルータの機能ですが、eth0側はdhcpで自動的にIPアドレスを割り振られることを前提にし、eth1側は192.168.32.0/24のネットワークを構築するとしましょう。前提としてはeth0側をWAN側/インターネット側、eth1をLAN側/ローカルネットワーク側とします。尚、作業を始めるまえはeth0もeth1もダウンしていることを前提とします。
 
 
まずNATに必要なカーネルのモジュールを読み込み、IPパケットをフォワードする設定にします。
 
# modprobe iptable_nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
 
 
eth0側でdhclientを使いeth0にIPアドレスを割り当てます。尚、eth0側/WAN側に上位ルータがあるといった運用をされていてDHCPサーバーがあるとします。eth1側/LAN側は192.168.32.0/24のネットワークがあるとします。
 
# 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
 
 
注意: 192.168.32.0/24 にはこの段階ではDHCPサーバが存在していないので、dhcpを使いネットワークアドレス取得をする前提の機材を接続しても、そのままではIPアドレスが設定されません。