[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]

Debian レファレンス
第 10 章 - ネットワークの設定


この章では Debian でのネットワーク管理に焦点を当てています。 GNU/Linux のネットワークに関する一般的な紹介は Net-HOWTO をご覧下さい。

Debian ホストのインターネットへのアクセスを可能にするには、 ネットワークインターフェースが kernel によりサポートされ、適切に 設定される必要があります。

まず必要なことは、イーサネットカード、無線 LAN カードやモデムのような ネットワークインターフェースデバイスを kernel がサポートすることです。 これらのサポートを有効にするには、 Debian での Linux kernel, 第 7 章 に記述しているように kernel を再構築してモジュールを追加する必要があるかもしれません。

ネットワークデバイスの設定は以降で説明します。 本章の情報は Sarge のために更新中ですので、Woody 以前には適用できません。


10.1 IP ネットワークの基礎

Debian ホストはそれぞれが異なった Internet Protocol (IP) アドレスを持った 複数のインターフェースを持つことができます。 インターフェースは次に挙げるいくつかの異なるタイプかもしれません。

SLIP, PLIP (srrial line IP と pararell line IP), 特定のデバイスで トラフィックを制御するための "shaper" なデバイス, フレームリレー, Ax.25, X.25, ARCnet そして LocalTakl のような他のさまざまな種類の ネットワークデバイスが使用可能です。

インターネット (又は IP ベースのネットワーク) に直接接続された全ての ネットワークインターフェースはユニークな 32 ビットの IP アドレスにより 識別されます。 [49] IP アドレスネットワークを示す部分とホストを示す部分に分割できます。 IP アドレスのネットワークアドレスの部分を 1 に、ホストアドレスの 部分を 0 にするとネットワークのネットマスクを得られます。

伝統的に、IP ネットワークはそれぞれ 8 ビット、16 ビット、24 ビットの長さの ワークアドレス部分を持つクラスに分類されています。 [50]

                   IP アドレス                       ネットマスク     長さ
     クラス A   1.0.0.0     - 126.255.255.255  255.0.0.0       =  /8
     クラス B   128.0.0.0   - 191.255.255.255  255.255.0.0    = /16
     クラス C   192.0.0.0   - 223.255.255.255  255.255.255.0 = /24

以上の長さを持たない IP アドレスは特別な目的に用いられます。

各クラスのためにローカルエリアネットワーク (LAN) で使用するために予約された アドレスの範囲が存在します。 これらのアドレスはインターネット上のあらゆるアドレスと衝突しないことが 保証されています。 (同じトークンにより、これらのアドレスの 1つがホストに割り当てられた場合、 そのホストはインターネットに直接アクセスしてはいけませんが、 個別のサービスのためのプロキシとして機能するゲートウェイを通して アクセスするか、ネットワークアドレス変換を通じてアクセスする 必要があります。) これらのアドレスの範囲はそれぞれのクラスにあるアドレスの数に応じて、 次のテーブルに示すように与えられています。

                   ネットワークアドレス           長さ    数
     クラス A   10.x.x.x                             /8      1
     クラス B   172.16.x.x -  172.31.x.x        /16     16
     クラス C   192.168.0.x - 192.168.255.x  /24     256

IP ネットワークの最初のアドレスはネットワーク自身のアドレスです。 最後のアドレスはネットワークのブロードキャストアドレスです。 [51] 他の全てのアドレスはネットワーク上のホストに割り当てられます。 これらのうち、最初又は最後のアドレスは通常ネットワークの インターネットゲートウェイに割り当てられます。

ルーティングテーブルは kernel の目的地への IP パケットの送信方法 についての情報を含んでいます。 ここに IP アドレス 192.168.50.x/24 を持つローカルエリアネットワーク (LAN) 上の Debian ホストのためのサンプルのルーティングテーブルを示します。 ホスト 192.168.50.x (LAN 上にもある) は企業ネットワーク 172.20.x.x/16 のためのルータであり、192.168.50.254 (LAN 上にもある) はインターネット 用のルータです。

     # route
     Kernel IP routing table
     Destination   Gateway        Genmask       Flags Metric Ref Use Iface
     127.0.0.0     *              255.0.0.0     U     0      0     2 lo
     192.168.50.0  *              255.255.255.0 U     0      0   137 eth0
     172.20.0.0    192.168.50.1   255.255.0.0   UG    1      0     7 eth0
     default       192.168.50.254 0.0.0.0       UG    1      0    36 eth0

テーブル上の IP アドレスは /etc/networks を調べるか C ライブラリのリゾルバを用いて得られる名前としても表せます。

ルーティングに加え、kernel はネットワークアドレス変換、トラフィック整理 やフィルタリングも行えます。

より詳しい背景情報については Net-HOWTOother networking HOWTOs をご覧下さい。


10.2 低レベルネットワークの設定

GNU/Linux システム上での伝統的な低レベルネットワーク設定ツールとしては net-tools パッケージに収録されている ifconfigroute プログラムがあります。 これらのツールは公式に iproute パッケージに収録 されている ip により取って代われています。 ip プログラムは Linux 2.2 以上で動き、旧式のツールよりも より機能的です。しかしながら、旧式のツールもまだ動き、多くのユーザにより 親しまれています。


10.2.1 低レベルネットワーク設定ツール – ifconfigroute

ここにインターフェース eth0 の IP アドレスを 192.168.0.3 から 192.168.0.111 に変更し、192.168.0.1 経由で 10.0.0.0 ネットワークに通すように eth0 を設定 する方法を示します。 現在の全てのネットワークインターフェースとルーティングの状況を表示するため、 まずはインターフェース引数無しで ifconfigroute を起動することから始めましょう。

     # ifconfig
     eth0 Link encap:Ethernet  HWaddr 08:00:46:7A:02:B0
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23363 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:13479541 (12.8 MiB)  TX bytes:20262643 (19.3 MiB)
          Interrupt:9
     
     lo   Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:230172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:230172 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:22685256 (21.6 MiB)  TX bytes:22685256 (21.6 MiB)
     # route
     Kernel IP routing table
     Destination  Gateway      Genmask          Flags Metric Ref Use Iface
     192.168.0.0  *            255.255.0.0      U     0      0     0 eth0
     default      192.168.0.1  255.255.255.255  UG    0      0     0 eth0

まずインターフェースをダウンさせます。

     # ifconfig eth0 inet down
     # ifconfig
     lo   Link encap:Local Loopback
       ... (eth0 エントリはもはや存在しない)
     # route
       ... (ルーティングテーブルのエントリももはや存在しない)

次に eth0 を新しい IP アドレスと新しいルーティングを用いて立ち上げます。

     # ifconfig eth0 inet up 192.168.0.111 \
                netmask 255.255.0.0 broadcast 192.168.255.255
     # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0

The result:

     # ifconfig
     eth0 Link encap:Ethernet  HWaddr 08:00:46:7A:02:B0
          inet addr:192.168.0.111  Bcast:192.168.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          ...
     
     lo   Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          ...
     # route
     Kernel IP routing table
     Destination  Gateway      Genmask      Flags Metric Ref Use Iface
     192.168.0.0  *            255.255.0.0  U     0      0     0 eth0
     10.0.0.0     192.168.0.1  255.0.0.0    UG    0      0     0 eth0

より詳しい情報は、ifconfig(8)route(8) をご覧下さい。


10.2.2 低レベルネットワーク設定ツール – ip

前記の ifconfigroute コマンドと等価な ip コマンドは次のようになります。

ip プログラムは引数 help 付きで起動するとその コマンド文法を表示します。例えば、ip link help は次を表示します。

     Usage: ip link set DEVICE { up | down | arp { on | off } |
                          dynamic { on | off } |
                          multicast { on | off } | txqueuelen PACKETS |
                          name NEWNAME |
                          address LLADDR | broadcast LLADDR |
                          mtu MTU }
            ip link show [ DEVICE ]

ip(8) をご覧下さい。


10.2.3 無線 LAN インターフェースの設定

無線 LAN インターフェースの設定には、wireless-tools パッケージに収録されている iwconfig プログラムが ifconfigip の両方に加えて使われます。

iwconfig(8) をご覧下さい。


10.2.4 PPP インターフェースの設定

インターネットにダイアルアップ電話線を接続したモデム経由でアクセス する場合、Point-to-Point Protocol (PPP) を用いて接続をネゴシエイト します。そのような接続はネットワークインターフェース ppp0, ppp1, などとしてアクセスされます。

PPP インターフェースは ppp パッケージに収録されている PPP デーモン pppd により管理されます。 それゆえ、ユーザにとっては、PPP インターフェースを設定するのは pppd を設定することを意味します。


10.2.4.1 pppd を手動で設定する

ネットワークリンクを確立するには、通信ポート (通常シリアルポート) を開き、コマンドを通信デバイス (通常モデム) に送信し、 電話番号をダイアルし、外の PPP デーモンへの認証を行い、 PPP インターフェースが作成されてルーティングテーブルが トラフィックがリンクを通じて送られるように修正される必要があります。 pppd はこれらの仕事の全てをこなし、その結果として 非常に長い操作オプションのリストを持ちます。 これらのオプションは pppd(8) に記述されています。

Debian システムでは、汎用のオプションは /etc/ppp/options にセットされています。ユーザが指定するオプションは ~/.ppprc にセットします。使用する通信ポートに依存するオプションは /etc/ppp/options.portname に保存されます。 例えば、二つのモデム — 組込みの /dev/LT-modem を通じてアクセス される Lucent LT モデムと外付けの /dev/ttyS0 を通じてアクセスされる モデムを持っていると仮定します。 次の 2つのオプションファイルを作成します。

     # cat > /etc/ppp/options.LT-modem <<EOF
     115200
     init "/usr/sbin/chat -f /etc/chatscripts/setup-LT-modem"
     EOF
     # cat > /etc/ppp/options.ttyS0 <<EOF
     115200
     init "/usr/sbin/chat -f /etc/chatscripts/setup-ttyS0"
     EOF

これらは次のチャットスクリプトを参照しています。まず、 /etc/chatscripts/setup-LT-modem です。

     ABORT ERROR
     '' ATZ
     OK 'ATW2X2 S7=70 S11=55'
     OK AT

次に、/etc/chatscripts/setup-ttyS0 です。

     ABORT ERROR
     '' ATZ
     OK 'ATL1M1Q0V1W2X4&C1&D2 S6=4 S7=70 S11=55 S95=63 S109=1 +FCLASS=0'
     OK AT

これらのファイルの内容はもちろんハードウェアに依存している必要があります。

オプションは pppd に引数としても与えられます。

Debian では、pppd は普通 pon コマンドを 用いて起動されます。pon が起動されると、その第一引数は pppd によっても読まれる /etc/ppp/peers/ に あるオプションファイルと同じ名前です。 [52] こうして特定の peer—例えば、特定のインターネットサービスプロバイダ (ISP) を指定するオプションを設定できます。

例えば、アムステルダムとハーグの間を通信したいとします。 それぞれの町には 2つの ISP サービス—Planet と KPN を持っています。 まず各 ISP 用の基本的なオプションファイルを作ります。

     # cat > /etc/ppp/peers/KPN <<EOF
     remotename KPN
     noauth
     user kpn
     noipdefault
     ipparam KPN
     EOF
     # cat > /etc/ppp/peers/Planet <<EOF
     remotename Planet
     auth
     user user3579@planet.nl
     noipdefault 
     mru 1000
     mtu 1000
     ipparam Planet
     EOF

これらのファイルは 2つの ISP 間で異なるオプションを設定します。 両方の ISP に共通のオプションは /etc/ppp/options 又は適切なインターフェース独自のオプションファイルのどちらかに 置きます。

次にそれぞれの町のための各 ISP 用のオプションファイルを作成します。 この例では片方の場所の ISP へ接続するのと他の場所の ISP に 接続する時の違いのみを必要なチャットスクリプトにします。 (ローカルのアクセス電話番号が異なるので、チャットスクリプトは異なります。)

     # cat > /etc/ppp/peers/KPN-Amsterdam <<EOF
     connect "/usr/sbin/chat -v -f /etc/chatscripts/KPN-Amsterdam"
     file /etc/ppp/peers/KPN
     EOF
     # cat > /etc/ppp/peers/KPN-DenHaag <<EOF
     connect "/usr/sbin/chat -v -f /etc/chatscripts/KPN-DenHaag"
     file /etc/ppp/peers/KPN
     EOF
     # cat > /etc/ppp/peers/Planet-Amsterdam <<EOF
     connect "/usr/sbin/chat -v -f /etc/chatscripts/Planet-Amsterdam"
     file /etc/ppp/peers/Planet
     EOF
     # cat > /etc/ppp/peers/Planet-DenHaag <<EOF
     connect "/usr/sbin/chat -v -f /etc/chatscripts/Planet-DenHaag"
     file /etc/ppp/peers/Planet
     EOF

それぞれの file 指示は早く示されるオプションファイルの一つ の一つを含みます。 connect 指示は接続を確立するために pppd が使う コマンドを指示します。 通常この目的には chat プログラムを使い、 チャットスクリプトを ISP に適応させます。 アムステルダムは電話番号を除いて同じかもしれませんし、ISP が 他の会社を通じてサービスを提供しているならば、異なるかもしれません。

     # cat > /etc/chatscripts/KPN-DenHaag <<EOF
     ABORT BUSY
     ABORT 'NO CARRIER'
     ABORT VOICE
     ABORT 'NO DIALTONE'
     ABORT 'NO DIAL TONE'
     ABORT 'NO ANSWER'
     ABORT ERROR
     OK-AT-OK ATDT 0676012321
     CONNECT \d\c
     EOF
     # cat > /etc/chatscripts/Planet-DenHaag <<EOF
     ABORT BUSY
     ABORT 'NO CARRIER'
     ABORT VOICE
     ABORT 'NO DIALTONE'
     ABORT 'NO DIAL TONE'
     ABORT 'NO ANSWER'
     ABORT ERROR
     OK-AT-OK ATDT 0676002505
     CONNECT \d\c
     EOF

これらの ISP と接続を確立できるようにするには、pppd が peer に要求に応じて供給するクライアント名とパスワードが必要です。 これらの情報は /etc/ppp/pap-secrets (PAP プロトコル使用時) 又は /etc/ppp/chap-secrets (CHAP プロトコル使用時) に保存されます。 CHAP はより安全ですが、PAP は依然広く使われています。 これらのファイルには秘密が含まれているので、グループと他人が読み書きできない ファイルアクセス権限を設定しなくてはなりません。 これらのファイルのフォーマットは pppd(8) で 説明されています。 "secret" (3番目のフィールド) はファイル中のクライアント名 (最初のフィールド) および/又は サーバ名 (2番目のフィールド) を検索することにより調べられます。 ISP に接続している場合、一般にサーバ名は知りませんので、クライアント名を 代わりに供給します。これは上に示した peers/KPNpeers/Planetにある user 行で行われます。

     # client name       server name  secret
     kpn                 *            kpn
     user3579@planet.nl  *            myfavoritepet

10.2.4.2 pppconfig を用いて pppd を設定する

pppd を設定する手軽な方法は同名のパッケージにより 供給される pppconfig を使うことです。 pppconfig はメニュインターフェースを通じてユーザが質問 に答えた後に上に示したようなファイルを設定します。

resolvconf を使っている場合、 "Configure Nameservers" スクリーンで "None" を選ぶことを忘れずに。


10.2.4.3 wvdial を用いて PPP インターフェースを設定する

pppd を用いる異なるアプローチとしては、 wvdial パッケージに収録されている wvdial から pppd を起動することです。 pppd の代わりに、chat を起動してダイアルし、 接続のネゴシエイトを行います。wvdial はダイアルと最初のネゴ シエイトを行い、そして残りの作業を行うために pppdを起動します。 電話番号、ユーザ名、そしてパスワードを与えるだけで wvdial は ほとんどの場合接続を確立できます。


10.3 コンピュータの名前付け


10.3.1 hostname

Debian システムは時々自分自身を名前で識別する必要があります。 この目的のため、hostname が kernel により維持されています。

initscript /etc/init.d/hostname.sh は hostname を ブート時に (hostname を用いて) /etc/hostname に保存されている名前に設定します。 このファイルには完全修飾ドメイン名 (FQDN) ではなく、 hostname のみ が含まれていなくてはなりません。

現在の hostname を表示するには、引数無しで hostname を起動してください。


10.3.2 Mailname

ホストの mailname はホストを識別するためにメール関連の プログラムが使用する名前です。 /etc/mailname ファイルには名前に続いて改行を持つ行が 含まれます。 mailname は通常ホストの完全修飾ドメイン名の一つです。 mailname(5) をご覧下さい。

Debian ホストにより送信されるメールの From: ヘッダにある 受取人が何かは Mail User Agent (MUA) や Mail Transfer Agent (MTA) がどのように設定されているかに依存します。 ローカルユーザ foo がメールを mailname myhost.dom から送ると仮定します。 すると、送信されるメールの From: ヘッダは次のようになります。

MUA が From: ヘッダをセットしたとしても、MTA が "Sender:foo@herman.dom" ヘッダを 本当の発信源を示すために追加するかもしれません。

もちろん Exim の元で存在しないメールアドレスのための物置を設定する, 第 9.6.1.3 節Exim の元で送信メールに対してアドレス書き換えを設定する, 第 9.6.1.4 節 で議論 したように、関連する MTA がアドレスの書き換えを行った時、受取人が見る メールアドレスはどうにでも変えられ得ます。


10.4 ドメインネームサービス (DNS)

ホストは IP アドレスに加え、ドメイン名によっても参照されます。 DNS はネームリゾルバがドメイン名を IP アドレスや他のホストの属性と 関連付けるためにネームサーバを勤めるクライアントサーバシステムです。 GNU C ライブラリ resolver(3) もファイルにある IP アドレスの検索を行えますし、Network Information Services (NIS) の役目も勤めます。

ローカルのホストに関連づけられているドメインが何かを知るには、 hostname --fqdn コマンドを使いましょう。このコマンドはリゾルバが ローカルの hostname に対して捜し出した最初の FQDN を表示します。 [53]


10.4.1 リゾルバ

特定のドメイン名に関連づけられた IP アドレスを捜し出す仕事は、リゾルバ の仕事です。最も良く使われているリゾルバは GNU C ライブラリにある リゾルバ (resolver(3)) により実現される 関数群です。他のリゾルバとしては、libfiredns パッケージに収録されている FireDNS リゾルバがあります。

どのように LIBC リゾルバが名前を解決するかは /etc/nsswitch.conf 設定ファイル中の hosts 行により制御されています。 この行は名前を解決するために使われるサービス、例えば dns, files, nis, nisplus をリストしています。 [54] nsswitch.conf(5) をご覧下さい。 files サービスが使用されている範囲については、リゾルバの挙動は /etc/hosts 設定ファイルによっても制御されています。 hosts(5) をご覧下さい。

上の全てのファイルは静的であり、お好みのエディタで編集できます。

dns サービスが使用される範囲においては、リゾルバの挙動は /etc/resolv.conf 設定ファイルによっても制御されています。 resolv.conf(5) をご覧下さい。 resolv.conf の重要な機能のひとつは、名前を解決するために 接続されるネームサーバの IP アドレスをリストすることです。 このリストはたびたびネットワーク環境に依存し、ネットワーク環境はコンピュータ を起動する間時にふれて変化します。 pppddhclient のようなプログラムは resolv.conf 内の行を追加したり削除する操作を行えますが、 これらの機能は常に適切に動くとは限らず、お互いに衝突しかねません。 resolvconf パッケージはこのファイルを更新するための 標準的なフレームワークを供給することにより、よりうまくこの問題を解決します。 ネームサーバ情報の管理 – resolvconf, 第 10.4.2 節 をご覧下さい。


10.4.2 ネームサーバ情報の管理 – resolvconf

resolvconf パッケージは利用可能なネームサーバ に関する情報の動的な管理のためのフレームワークを供給します。 リゾルバや DNS キャッシュが使うためのネームサーバのリストを動的に管理 する方法についての長年の問題を解決します。 resolvconf は自身をネットワークインターフェースを制御するプログラムと ネームサーバ情報を供給するプログラム、そしてネームサーバ情報を必要とする アプリケーションの間の仲介人として設定します。

resolvconf は手動の設定を必要とせずに動作するように 設計されています。しかしながら、パッケージはまだ非常に新しく、 適切に動作させるためには、まだ手動の介入をいくらか必要とするかもしれません。 あなたが /etc/resolv.conf を更新するようにパッケージを カスタマイズしたならば、これは確実に当てはまります。ですので、 カスタマイズを無効にする必要があります。

詳細は /usr/share/doc/resolvconf/README.gz をご覧下さい。


10.4.3 検索した名前をキャッシュする – dnsmasq

ネームサーバがドメインを信頼できなければ、キャッシングとフォワーデイング を行う dnsmasq のようなネームサーバを起動させるのが 賢明です。 resolvconf と同時に用いてもうまく動きます。


10.4.4 検索した名前をキャッシュする – bind

bind9bind をキャッシングフォワーディング用のローカルネームサーバとしても使いたい場合、resolvconf と同時に用いてもうまく動きます。しかし本文書の執筆時点 (2003年10月) では、、 この用途には手動で設定する必要があります。使用方法は /usr/share/doc/resolvconf/README.gz をご覧下さい。


10.4.5 ドメインネームサービスを供給する – bind

あるドメインのための信頼できるネームサービスを供給する必要がある場合、 bind9 又は bind パッケージのどちらか による named のような完全に一人前のネームサーバが必要です。 新たにインストールする場合、bind9 がお薦めです。

bind9 をインストールするには、bind9, dnsutils のような基本的なパッケージをインストール しましょう。 次に、bind9-host, dns-browse, dnscvsutil, nslint のような ユーティリティパッケージもインストールしたいかもしれません。 さらに、bind9-doc のようなドキュメントパッケージも インストールしたいかもしれません。そして、libbind-devlibnet-dns-perl のような開発用パッケージもインストール したいかもしれません。 DHCP を用いたインターフェースを設定する場合、dhcp-dns パッケージを見つけるかもしれません。

基本的な設定を行うには、bind9 をインストールするか、 dpkg-reconfigure を実行しましょう。設定は named.conf を編集することからなります。 Debian では、このファイルは /etc/bind/ にあり、 主に基本的な DNS ゾーンの定義のために用いられます。 このファイルには named.conf.local というローカルゾーンを定義する ファイルと、named.conf.options という設定オプションのために 用いられるファイルという二つの別ファイルが 含まれます。 (後者は /var/run/bind/named.options ファイルを生成するために resolvconf によって処理されます。この生成ファイルは forwarders 指定が現在利用できるローカルではないネームサーバの リストであるという点を除いてオリジナルと同じです。 これを利用するには、named.confinclude 行が /var/run/bind/named.options を含むように変更してください。 ネームサーバ情報の管理 – resolvconf, 第 10.4.2 節 をご覧下さい。)

完全なパス名無しで named.conf* という名前のデータベースファイル が /var/cache/bind/ に保存されます。 これは named により生成されるファイルを保存する正しい場所です。 例えば、デーモンが働いているセカンダリゾーン用のデータベースファイルです。 /etc/bind/ にある静的なデータベースファイルは、 フルパス名により named.conf にあるものと参照 されなくてはなりません。詳細は /usr/share/doc/bind9/README.Debian.gz をご覧下さい。


10.5 DHCP を用いてネットワークインターフェースを設定する

低レベルのネットワークインターフェースの設定は Dynamic Host Configuration Protocol (DHCP) を用いて自動化できます。 ファイアーウォールやルータボックス、そしてあなたが使っているブロードバンド ISP は IP アドレスや他のパラメータをこの方法で提供しているかもしれません。

DHCP を動かすには、次のパッケージのうち一つをインストールする必要があります。

pump はシンプルで広く使われています。 dhcp3-client は複雑ですがより広範な設定が可能です。 [55]


10.6 Debian での高レベルなネットワーク設定

ネットワーク設定をより容易にするため、Debian は ifupifdown プログラムと /etc/network/interfaces ファイル から構成される標準の高レベルネットワーク設定ツールを供給します。 [56] ネットワークの設定に ifupdown を使おうとした場合、 通常低レベルのコマンドを同時に使うべき ではありません。 [57] Ifupdown はネットワークインターフェースの設定と 解除のために使われるのは自分自身だけという仮定の元に書かれています。

インターフェースの設定を更新するには、次のようにします。

     # ifdown eth0
     # editor /etc/network/interfaces  # お好きなようにいじる
     # ifup eth0

より詳しい情報は interfaces(5), /usr/share/doc/ifupdown/examples/network-interfaces.gz, と ifup(8) をご覧下さい。


10.6.1 スタティック IP アドレスを用いたインターフェースの設定

192.168.0.123 の固定 IP アドレスを持った Ethernet インタフェース の設定を行いたいと仮定します。このアドレスは 192.168.0 から始まるので、LAN 上にある必要があります。さらに、LAN のインターネットへのゲートウェイの アドレスを 192.168.0.1 と仮定します。 次のような一区切りを含むように /etc/network/interfaces を編集しましょう。

     iface eth0 inet static
             address 192.168.0.123
             netmask 255.255.255.0
             gateway 192.168.0.1

resolvconf をインストールしている場合、次のように DNS 情報を指定する行を追加できます。

     iface eth0 inet static
             address 192.168.0.123
             netmask 255.255.255.0
             gateway 192.168.0.1
             dns-search nicedomain.org
             dns-nameservers 195.238.2.21 195.238.2.22

インターフェースが立ち上がった後、dns-search オプションと dns-nameservers オプションの引数は resolvconfresolv.conf に含めることにより利用可能になります。 dns-search オプションの nicedomain.org 引数は resolv.conf(5) にある search オプションの引数に対応します。 dns-nameservers オプションの 195.238.2.21195.238.2.22 オプションは resolv.conf(5) にある nameserver オプションの引数に対応します。 他の利用可能なオプションとしては、dns-domaindns-sortlist があります。 ネームサーバ情報の管理 – resolvconf, 第 10.4.2 節 をご覧下さい。


10.6.2 DHCP を用いてインターフェースを設定する

DHCP を用いてインターフェースを設定するには、 次のような一区切りを含めるように /etc/network/interfaces を編集してください。

     iface eth0 inet dhcp

これを機能させるには、 DHCP を用いてネットワークインターフェースを設定する, 第 10.5 節 で言及した DHCP クライアント のうちいずれかをインストールする必要があります。


10.6.3 無線 LAN インターフェースの設定を行う

wireless-tools パッケージには、インターフェースを 立ち上げる前に無線 LAN (802.11a/b/g) ハードウェアの設定を可能とする フックスクリプト /etc/network/if-pre-up.d/wireless-tools が含まれます。 設定は iwconfig プログラムを通じて行われます。 iwconfig(8) をご覧下さい。 iwconfig に与えることが可能なコマンドパラメータそれぞれ に対して、"wireless-" 接頭辞を付けたパラメータのような名前で /etc/network/interfaces 内ににオプションとして含めることが できます。 例えば、DHCP を用いて eth0 を立ち上げる前に eth0 の ESSID を myessid に、暗号鍵を 123456789e に設定するには、次のような一区切りを含むように /etc/network/interfaces を編集しましょう。

     iface eth0 inet dhcp
             wireless-essid myessid
             wireless-key 123456789e

このインターフェースに対して waproamd を走らせている場合、 ESSID と暗号鍵を設定するこの方法を用いるべきではありません。 ifup が起動された時、waproamd は既に ESSID と暗号鍵を設定済みです。 ネットワーク設定のトリガを設定する – waproamd, 第 10.9.4 節 をご覧下さい。


10.6.4 PPP インターフェースの設定を行う

ifupifdown プログラムは PPP インターフェースの追加と削除のために ponpoff を使います。ですから、まずは PPP インターフェースの設定, 第 10.2.4 節 を読みましょう。

peer myisp に対して動くように PPP を設定する必要があると仮定します。 次のような一区切りを含むように /etc/network/interfaces を 編集しましょう。

     iface ppp0 inet ppp
             provider myisp

この一区切りが正しい位置にあれば、ifup ppp0 は次を実行します。

     pon myisp

不運なことに、/etc/network/interfaces にある ppp 節に pppd オプションをさらに供給することはいまのところ できません。 [58]

現在 PPP インターフェースの補助的な設定を行うために ifupdown を使うことはできません。ponpppd が接続を 確立する前に存在するため、ifup は インターフェースの 準備ができる前に up スクリプトを起動します。 このバグ [59] が修正されるまでは、/etc/ppp/ip-up 又は /etc/ppp/ip-up.d/ にある補助的な設定を実行する必要性が 残ります。


10.6.5 PPPoE インターフェースの設定を行う

たとえ、カスタマのマシンが Ethernet や ATM ネットワーク経由でつないでいた としても、多くのブロードバンドインターネットサービスプロバイダ (ISP) は PPP を接続のネゴシエイトを行うために使用します。 これは PPP over Ethernet (PPPoE) により実現されます。この技術は PPP ストリームを Ethernet フレーム内にカプセル化する技術です。 ISP が myisp と呼ばれていると仮定します。 まず peer myisp のための PPP と PPPOE を設定します。 最も簡単な方法は pppoeconf パッケージをインストールし、 コンソールから pppoeconf を起動することです。 次に、次に挙げる一区切りを含むように /etc/network/interfaces を編集します。

     iface eth0 inet ppp
             provider myisp

時々 PPPoE over DSL を用いた時の Maximum Transmit Unit (MTU) についての問題が発生します。 詳細は DSL-HOWTO をご覧下さい。

ブロードバンドモデムがルータ機能を持っている場合、モデム/ルータは それ自身で PPPoE 接続を操作し、LAN 側では単なる インターネットへの Ethernet ゲートウェイにしか見えないことに注意してください。


10.6.6 ゲートウェイ用に複数の Ethernet インターフェースを設定する

eth0 が DHCP により設定した IP アドレスを用いてインターネット に接続し、eth1 が固定 IP アドレス 192.168.1.1 を用いて LAN に接続していると仮定します。 次に示すような一区切りを含むように /etc/network/interfaces を編集しましょう。

     iface eth0 inet dhcp
     
     iface eth1 inet static
             address 192.168.1.1
             netmask 255.255.255.0

ゲートウェイルータを構築する, 第 10.12 節 に記述しているようにホストの NAT を有効にしている 場合、LAN 上の全てのホストでインターネット接続を共有できます。


10.6.7 仮想インターフェースを設定する

仮想インターフェースを用いると、1つの Ethernet カードを複数の IP サブネットへのインターフェースとして設定できます。 例えば、ホストが 192.168.0.x/24 の LAN ネットワーク上にあると仮定 します。ホストを既存の Ethernet カードを用いて DHCP を用いて供給される パブリックな IP アドレスを用いてインターネットに接続したい場合、 次に示すような一区切りを含むように /etc/network/interfaces を編集しましょう。

     iface eth0 inet static
             address 192.168.0.1
             netmask 255.255.255.0
             network 192.168.0.0
             broadcast 192.168.0.255
     
     iface eth0:0 inet dhcp

インターフェース eth0:0 は仮想インターフェースです。 これが立ち上がると、親の eth0 も立ち上がります。


10.7 ネットワーク 設定

次の章では、読者は 物理インターフェース論理インターフェース の違いを理解することが重要に なります。 [60] 物理インターフェースは私達が "インターフェース" と呼ぶ eth0, ppp1 などと名付けられるものです。 論理インターフェースは物理インターフェースの変数パラメータに割り当てられる 値のセットのことです。これに混乱する場合、 "論理インターフェース X として設定する" という表現を "インターフェースプロファイル X を用いて設定する" に置き換えます。

/etc/network/interfaces にある iface 定義は 実際は物理インターフェースの定義ではなく、論理インターフェースの 定義です。 [61] インターフェースを絶対再設定したくない場合、物理インターフェース X は標準では論理インターフェース X として設定されるので無視できます。

しかしながら、あなたのコンピュータが仕事場と家の間を持ち運ぶノート PC である と仮定しましょう。コンピュータを職場のネットワークに接続した時と 家庭内 LAN に接続したときでは、接続する場所に従い eth0 を再設定 する必要があります。

まず (以前行ったように eth0 ではなく) 二つの論理インターフェース homework を定義し、インターフェースが家庭内 LAN と職場ネットワークのためにに設定されるかをそれそれ記述します。

     iface home inet static
             address 192.168.0.123
             netmask 255.255.255.0
             gateway 192.168.0.1
     
     iface work inet static
             address 81.201.3.123
             netmask 255.255.0.0
             gateway 81.201.1.1

そして、物理インターフェース eth0 をコマンドラインで、次のように 適切な設定ファイルを指定して立ち上げます。

     # ifup eth0=home

職場ネットワークのために eth0 を再設定するには、次のコマンド を実行します。

     # ifdown eth0
     # ifup eth0=work

上記で書かれた interfaces ファイルを用いると、もはや ifup eth0 を用いるだけで eth0 を立ち上げる ことができることに注意してください。 この理由としては、ifup は物理インターフェースの名前を 標準の論理インターフェースの名前として使用しており、私達の例では eth0 という論理インターフェースを定義していないためです。


10.8 魔法のようなネットワーク再設定

論理インターフェース名は ifup が起動する時に他の 論理インターフェース名に "マップ" できます。 どのような名前にマップされるかは状況に依存して変更できます。 それゆえ、ifup は前もって定義された候補の中から適切な 論理インターフェースとして与えられた物理インターフェースを立ち上げる ように設定できます。

論理インターフェースの名前のマッピングは次のように発生します。

mapping 節の文法は次のとおりです。

     mapping glob-pattern
              script script-name
             [map script input]

mapping 節で示されたスクリプトは物理インターフェース名と、 標準入力でスクリプトに供給される節の中の全ての "map" 行 の内容を引数として起動されます。 スクリプトは終了前に標準出力にマッピングの結果を表示します。

例えば、次の mapping 節は eth0home 論理インターフェースとして ifup を立ち上げさせます。

     mapping eth0
             script /usr/local/sbin/echo-home

ここで /usr/local/sbin/echo-home の内容は次のようなものです。

     #!/bin/sh
     echo home

マッピングはスクリプトを用いて行われるので、ある種のテストに基づいて 論理インターフェースを選択することが可能です。 例題を始めましょう。 家庭用と職場用で異なるネットワークカードを持っているとします。 /usr/share/doc/ifupdown/examples/ ディレクトリには Media Access Controller address (MAC address) に基づき論理インターフェース を選択するために用いられるスクリプトが含まれています。 まずスクリプトを適切なディレクトリにインストールします。

     # install -m770 /usr/share/doc/ifupdown/examples/match-mac-address.sh \
        /usr/local/sbin/

次に次のような節を /etc/network/interfaces に追加します。

     mapping eth0
             script /usr/local/sbin/match-mac-address.sh
             map 02:23:45:3C:45:3C home
             map 00:A3:03:63:26:93 work

より洗練されたマッピングプログラムについては下の guessnet, 第 10.8.1 節, ifupdown-roam, 第 10.8.2 節laptop-net, 第 10.8.3 節 に記述しています。


10.8.1 guessnet

guessnet をインストールして /etc/network/interfaces に次のような節を 追加しましょう。

     mapping eth0
             script guessnet-ifupdown
             map home
             map work

ifup eth0 すると、guessneteth0homework のどちらで立ち上げられたかを チェックします。これには、論理インターフェースの定義内に保存された情報を 用います。guessnet はゲートウェイか tesgt-peer 行 で認識されるホストかどうかを識別するために ARP 要求を用います。

guessnet はまだ開発中です。


10.8.2 ifupdown-roam

ifupdown-roam パッケージは guessnet のスーパーセット であるマッピングスクリプトとしての能力を持つ ifscout を含みます。ifscout は Ethernet ネットワークで接続された ホストを探すために guessnet を呼び出します。しかし、DHCP サーバや無線 LAN のアクセスポイントも検知できます。 ifscout はシェルスクリプトですので、必要に応じてカスタマイズ できます。

現在 (2003年10月)、ifupdown-roam は Debian の パッケージではありません。あなたがこの文書を呼んでいる時点で Debian アーカイブに upload されているかもしれません。そうではない場合は、 the ifupdown-roam home page 経由で入手できます。ここでインストール方法や使用方法に関する情報も 得られます。


10.8.3 laptop-net

laptop-net パッケージはネットワークの再設定に 異なる手法を取っています。Laptop-net は ifupdown の 論理インターフェースを利用していませんが、その代わり、固有の 設定 "スキーム" とシステム "プロファイル" というシステムを持っています。 しかしながら、物理インターフェースを設定するために、Laptop-net は依然 ifupdown を使用しています。 詳細な情報は、laptop-net-doc にある良質な情報に あたってください。


10.9 ネットワーク再設定のトリガを設定する

インターフェースがどのように再設定されるのかを見てきました。 再設定は適切な時期に行われる必要があります。

伝統的にネットワークは /etc/rcS.d/S40networking initscript 経由でブートシーケンスの間に設定され、滅多に再設定されませんでした。 ネットワークに依存するサービスはブートシーケンスで後に起動されました。 シャットダウン又はリブート時に initscript は逆の順番で起動されました。

しかしながら、現在 GNU と Linux において動的に変化するハードウェアと状況 のサポートがトレンドです。前者のサポートはホットスワップ可能な PCMCIA カードのために追加されました。より最近では、hotplug 機構が 追加され、多くの周辺機器がコンピュータの起動中に抜き差しできるように なりました。 これにはネットワーク関連のハードウェアが含まれます。 ハードウェアに依存するホットスワップされるハードウェアはハードウェアが 挿入された後に起動され、ハードウェアが外された時に停止する必要がある ことに注意してください。 これはこの種のサービスが System V init システムの制御から外され、 その代わりに ifupdown の制御下に置かれる必要がある ことを意味しています。

例えば、initscript /etc/init.d/foo により制御される サービス foo が動的に再設定されるネットワークインターフェース eth0 に依存するとします。


10.9.1 ブート時にネットワーク設定のトリガーを設定する

ブート時に /etc/rcS.d/S40networking init スクリプトは ifup -a コマンドを起動します。 これは /etc/network/interfacesauto 節にリスト されている全ての物理インターフェースを立ち上げます。

最近動的な方法を用いてネットワーク設定を操作する方がより良いことが たびたびあります。 いったん動的に変化するハードウェアのサポートメカニズムが機能すると、 まるで動的であったかのように静的なハードウェアを扱うことがシンプルになります。 ブートはもう 1つの hotplug イベントとして扱えます。 (ネットワーク設定のトリガを設定する – hotplug, 第 10.9.2 節 参照)

しかしながら、ほとんど全ての場合、少なくともループバックデバイス lo はブート時に立ち上げておきたいでしょう。 それゆえ、/etc/network/interfaces に次の節が含まれている ことを確認してください。

     auto lo
     
     iface lo inet loopback

ブート時に他の物理インターフェースも立ち上げたい場合、 auto 節にさらに物理インターフェースを追加できます。 auto 節に 決して PCMCIA インターフェースを リストしてはなりません。PCMCIA cardmgr はブートシーケンス において /etc/rcS.d/S40networking が起動する時よりも後に 起動されます。


10.9.2 ネットワーク設定のトリガを設定する – hotplug

hotplug のサポートを追加するには、hotplug パッケージ をインストールしてください。

ネットワークハードウェアはブート時や、カード (例えば PCMCIA カード) を マシンに挿入した時、 discover が起動され、必要なドライバ モジュールをロードした時にもホットプラグできます。

kernel が新しいハードウェアを検知すると、ハードウェアのドライバを初期化し、 設定を行うために hotplug プログラムを起動します。 その後、ハードウェアが削除されると、kernel は異なる環境変数設定を 用いて hotplug を再び起動します。 Debian では、hotplug が呼ばれると、/etc/hotplug//etc/hotplug.d/ にあるスクリプトを起動します。 詳細は hotplug(8) をご覧下さい。

新たに挿入されたネットワークハードウェアはスクリプト /etc/hotplug/net.agent により設定されます。 [63] PCMCIA ネットワークカードが挿入され、eth0 が利用可能になる と仮定します。

     ifup eth0=hotplug

/etc/network/interfaces に論理インターフェースの定義を追加するか、 hotplug という名のマッピングをしなければ、このコマンドは 何もしません。 コマンドが eth0 を設定するようにするには、次の節を /etc/network/interfaces に追加しましょう。

     mapping hotplug
             script echo

ネットワーク 設定, 第 10.7 節 で説明したように、これは次と等価になるように 上に示したコマンドをマップします。

     ifup eth0=eth0

(ネットワーク設定のトリガを設定する – ifplugd, 第 10.9.3 節 で述べているように、インターフェースを制御 するために hotplug により起動される ifplugd インスタンスを用いている場合、このようなマッピング節を 追加しないでください。)

eth0 のみを使いたく、他のインターフェースをホットプラグ時に 立ち上げたくない場合、次のように echo の代わりに grep を使いましょう。

     mapping hotplug
             script grep
             map eth0

さらに小技を学ぶには、魔法のようなネットワーク再設定, 第 10.8 節/usr/share/doc/hotplug/README.Debian をご覧下さい。


10.9.3 ネットワーク設定のトリガを設定する – ifplugd

ifplugd はハードウェアがネットワークに接続されているか どうかによりインターフェースの立ち上げや切断を行います。このプログラムは Ethernet インターフェースに接続されている通信中のケーブルや無線 インターフェースとつながったアクセスポイントを検知します。 ifplugd がリンクの状態の変化を検知すると、標準では インターフェースに対して ifupifdown を呼び出すプロキシスクリプトを起動します。

ifplugdhotplug と組み合わせて うまく動作します。 カードが挿入されると、インターフェースが利用可能となり、 /etc/hotplug.d/net/ifplugd.hotplug がインターフェースに対して ifplugd のインスタンスを起動します。 ifplugd がネットワークに接続されたカードを検知すると、 インターフェースを ifup します。


10.9.4 ネットワーク設定のトリガを設定する – waproamd

アクセスポイントに接続するためには、無線 LAN カードが適切な WEP 暗号鍵を用いてプログラムされる必要があるかもしれません。 ネットワーク設定のトリガを設定する – ifplugd, 第 10.9.3 節 に記述されているように ifup を制御するために ifplugd を用いている場合、 明らかに ifup を用いて暗号鍵を設定できません。なぜならば ifup はカードが接続された後でしか呼ばれないからです。 唯一可能な解決策としては、あらゆる必要な鍵を無線 LAN カードの不揮発メモリ にプログラムしておくことです。 ネットワークをうろつくと、あなたの無線 LAN カードは十分な鍵を保存できない かもしれません。

他の解決策としては、スキャニングにより利用可能なことが分かったアクセス ポイントに従い WEP 暗号鍵を設定する waproamd を使うことが 挙げられます。

waproamdhotplug と組み合わせてうまく動きます。 カードが挿入され、インターフェースが使用可能となると、 /etc/hotplug.d/net/waproamd.hotplug が そのインターフェースのために waproamd の インスタンスを起動します。

詳細は waproamd パッケージの README ファイルを ご覧下さい。


10.9.5 ネットワーク設定と PCMCIA

16 ビット ISA PCMCIA ネットワークカードを使用している場合、 まず /etc/defaults/pcmciaCARDMGR_OPTS="-f" をセットすべきです。 これは 16 ビット PCMCIA システムの初期化をわずかに遅らせますが、 16 ビットのカードが設定されるまで cardmgr を フォアグラウンドで起動させることにより競業条件を防ぎます。

標準では /etc/rc2.d/S20pcmcia から /etc/init.d/pcmcia スクリプトが起動されますが、 ネットワークサービスが S20 で起動される前に PCMCIA サブシステムが初期化されることをを保証するために、 このスクリプトをもっと前に、例えば /etc/rc2.d/S12pcmcia に移動したいかもしれません。

PCMCIA ネットワークインターフェースを設定するための可能なアプローチ はいくつか存在します。

16 ビットカードのために推奨したアプローチは Linux 2.4 の hot plug サブシステムが現在 PCMCIA をサポートしているという事実を利用しています。 ただ ネットワーク設定のトリガを設定する – hotplug, 第 10.9.2 節 の指示に従うだけです。 [64] しかしながら、cardmgr のフックスクリプト /etc/pcmcia/networkhotplug と 干渉するのを防ぐためには、標準の挙動を無効にするためにローカルで

     exit 0

/etc/pcmcia/network の先頭に追加する必要があります。

cardmgr を起動しても何の問題もないことに注意してください。 ただネットワーク設定プログラムを呼び出されたくないだけです。

cardmgr を適切に動かすためには、 16 ビット PCMCIA カードにリソースを割り当てるために /etc/pcmcia/config.opts を編集する必要があるかもしれません。 しれません。 より詳しい情報は PCMCIA, 第 7.2.1 節Linux PCMCIA HOWTO をご覧下さい。


10.10 ネットワークサービスの設定

デスクトップやホームサーバ環境における典型的なネットワークサービスの設定には 次が挙げられます。


10.11 ネットワークのトラブルシュート

ネットワークに関する問題に直面したら、次の出力を最初の真偽の確認として チェックしてください。

     # ifconfig
     # cat /proc/pci
     # cat /proc/interrupts
     # dmesg | more

又、ネットワークテストの基礎, 第 8.6.28 節 をご覧下さい。

特定のウェブサイトを見れない問題に直面した場合は、いくつかのウェブサイトにアクセスした時の奇妙な挙動, 第 3.7.5 節 をご覧下さい。


10.12 ゲートウェイルータを構築する

Debian ホストはネットワークアドレス変換 (NAT、マスカレードとしても知られる) 、メール転送、DHCP、DNS キャッシング、HTTP プロキシキャッシング、CVS サービス、NFS サービス、そして Samba サービスを行う多目的の ゲートウェイマシンにできます。これらの設定の例は LAN を使用するためのホストと IP, 第 3.1.9 節 をご覧下さい。


10.12.1 Netfilter 設定

netfilter/iptables プロジェクトは Linux 2.4 以降のための ファイアーウォールサブシステムです。 Netfilter をご覧下さい。 この文書では多くのネットワーク設定例が説明されています。


10.12.1.1 netfilter の基礎

Netfilter は五つの組込みチェイン、すなわち PREROUTING, INPUT, FORWARD, OUTPUT そして POSTROUTING を使うパケットを処理します。

                     ルーティング
                     方向
     IN ------> PRE ---> ------> FORWARD -----> ----> POST -----> OUT
     interface   ROUTING \       filter       /       ROUTING     interface
                   DNAT        |      tracking     ^       SNAT
                 REDIRECT    |                      |       MASQUERADE
                                   v                     |
                               INPUT                OUTPUT
                                  | filter                ^ filter,DNAT 
                                  v                       |
                                \--> ローカルのプロセス --/
                                     ユーザスペースのプログラム

10.12.1.2 Netfilter テーブル

パケットはそれぞれの組込みチェインにて次のテーブルを用いて処理されます。


10.12.1.3 Netfilter のターゲット

ファイアーウォールのルールにはいくつかのターゲットがあります。


10.12.1.4 Netfilter コマンド

iptables の基本的なコマンドは次のようになります。

     iptables -N chain                   #chain を作成
     
     iptables -A chain \                 # chain にルールを追加
              -t table \                 # table を使用 (filter, nat, mangle)
              -p protocol \              # tcp, udp, icmp, 又はこれら全て
              -s source-address[/mask] \
              --sport port[:port] \      # -p が tcp 又は udp の場合は送信元ポート
              -d destination-address[/mask] \
              --dport port[:port] \      # -p が tcp 又は udp の場合は送信先ポート
              -j target \                # マッチした場合の行動
              -i in-interface-name \     # INPUT,  FORWARD, PREROUTING 用
              -o out-interface-name      # FORWARD, OUTPUT, POSTROUTING 用

10.12.1.5 ネットワークアドレス変換

LAN 上のマシンは LAN 上の IP アドレスをインターネット上で使える IP アドレスに変換するゲートウェイを経由してインターネットのリソースに アクセスできます。

     # apt-get install ipmasq

ipmasq の防護を強化するためにサンプルルールを追加してください。 /usr/share/doc/ipmasq/examples/stronger/README をご覧下さい。 woody にある Debian の kernel-image-2.4 の場合、適切なモジュールが ロードされていることを確認してください。 設定方法については Network 機能, 第 7.2.3 節 をご覧下さい。

Debian の kernel-image-2.2 の場合、/etc/masq/rules にある Z92timeouts.rul を次に示すように編集し、リモートサイトへの より長い接続を保証するようにしてください。(大きなメールなどのために役立ちます)

     # tcp, tcp-fin, udp
     # 2hr, 10 sec, 160 sec - default
     # 1 day, 10 min, 10 min - longer example
     $IPCHAINS -M -S 86400 600 600

又、ネットワークに PCMCIA NIC 経由でアクセスしている場合、ipmasq/etc/pcmcia/network.opts (/usr/share/doc/ipmasq/ipmasq.txt.gz 参照) 又は /etc/network/interfaces (ネットワーク設定と PCMCIA, 第 10.9.5 節ネットワーク再設定のトリガを設定する, 第 10.9 節 参照) から起動される必要があります。


10.12.1.6 SMTP 接続をリダイレクトする (2.4 用)

他の LAN 環境で利用するように設定しているノート PC を持っており、 再設定せずにノート PC 上でメーラを使いたいとします。

ゲートウェイマシンに iptables を通じて次のルールを 追加し、SMTP 接続をゲートウェイマシンにリダイレクトします。

     # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -j REDIRECT \
                -p tcp --dport smtp --to-port 25 # smtp=25, INPUT is open

より徹底的なリダイレクトルールセットが必要な場合は、 ipmasq パッケージをインストールし、 /etc/ipmasq/rules/ ディレクトリに M30redirect.def を 追加することを考えてください。


10.12.2 複数のネット接続を管理する

[FIXME] Policy routing (by Phil Brutsche pbrutsch@tux.creighton.edu): 詳細は iproute manual をご覧下さい。 トラフィックコントロール (tc) にも興味が湧くかもしれません。

次のような環境を考えます。

     eth0: 192.168.1.2/24; gateway 192.168.1.1
     eth1: 10.0.0.2/24; gateway 10.0.0.1
     このマシン上でマスカレードは行いません。

特別な魔法を施します。

  1. ip rule add from 192.168.1.2 lookup 1
  2. ip rule add from 10.0.0.2 lookup 2
  3. ip route add to default via 10.0.0.1 metric 0
  4. ip route add to default via 192.168.1.1 metric 1
  5. ip route add table 1 to 192.168.1.0/24 via eth0
  6. ip route add table 1 to 10.0.0.2/24 via eth1
  7. ip route add table 1 to default via 192.168.1.1
  8. ip route add table 2 to 192.168.1.0/24 via eth0
  9. ip route add table 2 to 10.0.0.2/24 via eth1
  10. ip route add table 2 to default via 10.0.0.2

[FIXME] これを試したことはありません。オートダイアル機能を使わないで 高速な接続のバックアップとしてダイアルアップをどうやって設定しますか? パッチを送ってください。:)


[ 前のページ ] [ 目次 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ 次のページ ]

Debian レファレンス

1.07-6, 2004年 6月 23日 水曜日 21時21分03秒 UTC時間

Osamu Aoki (青木 修) osamu@debian.org
翻訳: 角田 慎一 tsuno@ngy.1st.ne.jp
著者, 第 A.1 節