|
次のページ
前のページ
目次へ
3. ネットワークの設定すでに、ゲートウェイコンピュータにLinuxがインストールされているはずです。さらに、 ネットワークカードの1枚をすでに設定し、インターネットとの接続を完了しているかも しれません。しかし、我々はゼロから始めます。設定が一つもおこなわれていない状況を 想定します。 まず、 Linuxのカーネルは、あなたの2枚のEthernetカードを それでは、
eth0 Link encap: Ethernet HWaddr 00:60:67:4A:02:0A inet addr:0.0.0.0 Bcast:0.0.0.0 Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:466 errors:0 dropped:0 overruns:0 frame:0 TX packets:448 errors:0 dropped:0 overruns:0 carrier:0 collisions:85 txqueuelen:100 Interrupt:10 Base address:0xe400 カーネルがネットワークカードを認識していないと、このような表示になるでしょう。
eth0: error fetching interface information: Device not found. 3.1 ネットワークドライバーの設定両方のネットワークカードがカーネルに認識されていたら、この節はとばしてください。 そうでない方は、この節を読んでください。 というわけで、カーネルがネットワークカードを1枚または両方とも認識しません でしたが、本当のところ、これは問題ではありません。カードを認識させる方法を もっとはっきりとカーネルへ伝えればよいだけのことです。キリがありませんので すべての場合をカバーすることはしません。面倒なことが起こったら、 Ethernet HOWTO を思い出してください(訳注: 和訳も あります)。ここでは、いくつかアドバイスを要約して紹介します。
それでは、設定ファイルを編集しましょう。編集するのは
alias parport_lowlevel parport_pc alias eth0 ne options ne io=0x300 irq=10 alias eth1 via-rhine 私の
あなたの2枚のネットワークカードのエイリアスと、すべてのISAカードの正しい
オプション行が
同型のネットワークカードが2枚あるとき本当に賢明なことに、Linuxゲートウェイ用に同じ型のネットワークカードを2枚も購入し、
うまく動作してくれない、そんなことがあるかもしれません。でも、心配は不要。2枚の
カードを共存させるには、単に
alias eth0 ne alias eth1 ne options ne io=0x330,0x360 irq=7,9 関連するオプションは1行にまとめます。各オプションの、最初の数字が 3.2 内部ネットワークの設定"内部ネットワーク"とは、家庭や社内にあるすべてのコンピュータが情報を やりとりするネットワークのことです。"外部ネットワーク"はLinux コンピュータのもう一つの端につながっている、大きくて恐ろしいインターネットのこと です。一般的にLinuxボックスが内部と外部との間でそれなりに強力な ファイアーウォールとなるため、内部ネットワークは外部ネットワークから完全に 切り離されます。 ネットワークデバイスドライバーが正常に動作し あなたの内部ネットワークは、公開されることはないでしょうから、内部ネットワークの
ために予約されている特別なネットワーク、 まず最初にネットワークを起動しておかなければなりません。
NETWORKING=yes FORWARD_IPV4=yes 第1行目はLinuxに、ブート時にネットワークデバイスが起動してほしいことを伝えます。 第2行目はIPフォワーディングを可能にするようLinuxへ伝えます。第4節でマスカレード の設定を始めるときに必要となります。 Red Hat 6.2 の注意事項: IPフォワードとマスカレードをRed Hat 6.2で
きちんと動作させるには、
net.ipv4.ip_forward = 1 net.ipv4.ip_always_defrag = 1 Red HatとRed Hatから派生したディストリビューションでは、すべてのネットワーク
インターフェースの設定は
DEVICE=eth1 IPADDR=192.168.1.1 ONBOOT=yes これはネットワークスクリプトへ、eth1をブート時に設定し指定されたIPアドレスを
与えるよう指示しています。次のコマンドで、この新しい設定を用いてあなたの
ネットワークを動かしましょう。 DHCPサーバDHCPサーバは自動的に、内部のホームネットワークのデバイスにIPアドレスを設定します。 ラップトップを使っている人達にはとても便利です。コンピュータをネットワークに つなげるだけですぐに適切な設定がなされます。内部ネットワークにDHCPサーバが不要 ならば次の節へ飛んでください。 まずDHCPサーバがインストールされている必要があります。Linux CD-ROMをマウントして、
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.2 192.168.1.60; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option ip-forwarding off; option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; } もしLinuxコンピュータをキャッシュ用のDNSサーバとしたいのならば、以下のオプション も入れてください。
option domain-name-servers 192.168.1.1; もし外部のDNSアドレスを知っていて、LinuxコンピュータをDNSとするつもりが ないならば、次のオプションを記入してください。x.x.x.xとy.y.y.yは、外部 DNSサーバのIPアドレスです。
option domain-name-servers x.x.x.x, y.y.y.y; もしWindowsコンピュータとファイルを共有するため、SambaをLinuxボックスで 動かすならば、LinuxコンピュータをデフォルトのWINSとブラウザサーバとして 使うため以下のオプションを追加してください。
option netbios-name-servers 192.168.1.1; option netbios-dd-server 192.168.1.1; option netbios-node-type 8; option netbios-scope ""; SambaとWINSの設定はこの文書の範囲を越えています。もし必要ならば、 SMB HOWTO を参照してください(訳注: 和訳もあります。 日本Sambaユーザ会のサイトも 参考になります)。 まだいくつか作業が必要です。次に、
/sbin/route add -host 255.255.255.255 dev eth1 WindowsのDHCPクライアントは、DHCPの応答に特定のブロードキャストアドレスを
必要とします。このコマンドはLinuxのTCP/IPスタックにそれを生成させます。
もしこの行がない場合はファイルに記述してください。同じような行があっても、
デバイスが 次に、
daemon /usr/sbin/dhcpd 以下の行で置き換えます。
daemon /usr/sbin/dhcpd eth1 これでDHCP起動の準備ができました。まず、コマンド 最後に、コンピュータを再起動してDHCPサーバが立ち上がるか確認します。DHCPサーバの
一部のRPMバッケージは、起動時にDHCPサーバが立ち上がらない設定になっています。
ですから、 このコマンドはRed Hatに、dhcp起動スクリプトを、 クライアントコンピュータDHCPを立ち上げてしまえば、クライアントコンピュータの設定はとても簡単です。DHCPの 設定を有効にすれば良いだけです。Windowsコンピュータならば、"コントロール パネル"を開き、"ネットワーク"を選択し、"TCP/IP" プロトコルの"設定"を選択します。"TCP/IPアドレスの自動設定" ボックスをチェックし、変更を反映させて、再起動してください(訳注:Windows 95の 場合は、"コントロールパネル"から"ネットワーク"を選択し、 "ネットワークの選択"でTCP/IPアダプタのプロパティを選びます。そして "IPアドレス"タブで、"IPアドレスを自動的に取得"をチェック してください)。 クライアントコンピュータの再起動の前に、Linuxボックスで もしDHCPサーバを立ち上げなくても、クライアントコンピュータの設定はかなり簡単です。 IPアドレスを設定するにはもう一度、"コントロールパネル"から" ネットワーク"を開き、TCP/IPプロトコルの設定を選んでください(訳注:Windows 95 の場合は、"コントロールパネル"から"ネットワーク"を選択し、 "ネットワークの選択"でTCP/IPアダプタのプロパティを選び、"IP アドレス"タブを開いてください)。ネットワークアドレスの192.168.1.0と ブロードキャストアドレスの192.168.1.255、Linuxサーバの192.168.1.1以外の、 ネットワーク192.168.1.0内の任意のアドレスをクライアントコンピュータに割り当てる ことができます。決して、2台のコンピュータに同じIPアドレスを与えないでください。 "ゲートウェイ"アドレスには192.168.1.1を指定します。こうすれば、外部への トラフィックはLinuxゲートウェイへ向かいます。 クライアントの設定については、 IP Masquerading HOWTO(訳注: 和訳あります) の Configuration Section(訳注: その他のIPマスカレードの問題とソフトウェアサポート)にとても詳細な 情報があります。 DHCPを使う場合も、そうでなくゲートウェイが192.168.1.1のネットワーク192.168.1.Xの アドレスを使う場合も、クライアントコンピュータでDNSの設定をする場合 一般的に、 ネットワークDNSキャッシュサーバを動かすならば192.168.1.1、そうでなければ プロバイダーが指定するDNSサーバのアドレスを指定してください。 DNSサーバLinuxボックスをキャッシュ用のDNSサーバとすれば、あなたのネットサーフィンの スピードが若干 速くなります。よく使われるドメイン名があなたのネットワーク内部に キャッシュされ外部から引き出す必要がなくなるからです。 本格的なDNSに興味があるならば、複雑な事柄をたくさん学ばねばなりません。 DNS HOWTO があります(訳注: 和訳もあります)し、書籍ならば DNS and BINDが良い (そしてとても網羅的な)紙の参考書になることでしょう。 クライアントマシンがキャッシュ用DNSサーバの恩恵を受けるためには、プライマリーDNS サーバとしてLinuxゲートウェイを使うようクライアントコンピュータで設定する必要が あります。一つの方法を、DHCPについて説明した3.2.2節で示しました。御自分で クライアントコンピュータを設定するのであれば、IPアドレスの設定と同じ コントロールタブでDNSの設定を変更することができます。 DNSサーバをインストールする際は、まず最初に インストールすればキャッシュ用DNSサーバは正常に動作します。しかしインターネット
プロバイダのDNSサーバのIPアドレスをご存知でしたら、
forwarders { x.x.x.x; y.y.y.y; }; こうするとあなたのDNSサーバは、指示されたアドレスを探してインターネットを さ迷う前に、まずプロバイダのDNSサーバへ問い合わせます。プロバイダのDNSサーバは 豊富なDNS情報をキャッシュに保持していますから、多くの場合、あなたのサーバよりも ずっと速く答えを出すことができます。 ここ1年で
ブート時にDNSサーバが確実に起動するよう、 これらをきちんと終えれば、次のコマンドでDNSサーバを起動できます:
内部ネットワークの試験外部ネットワークを設定しないとDNSサービスは動きません。なぜなら、
インターネット上の他のDNSサーバと情報を交換する必要がありますから。しかし、
クライアントコンピュータで、ターミナルウィンドウ(MS-DOS)を開いて、
3.3 外部ネットワークの設定これで、外部ネットワークを設定する準備が整いました。あなたのインターネット プロバイダのLinuxサポート体制によりますが、接続の設定が難しい場合もあります。 困難に直面したら、かなり詳細にADSLを解説している ADSL HOWTOがあります (訳注: 和訳も あります)。なお、もしCable Modem HOWTOがあったら、そちらへもリンクしたいと 思います(訳注: Cable Modem Provider HOWTOがあります。 和訳も 存在します)。 外部への接続でおもに問題になるのは、IPアドレスの取得です。ケーブルや
ADSLで接続している顧客へ固定IPアドレスを配布するプロバイダならば、設定は簡単です。
しかし多くのプロバイダは動的設定、そうですDHCPです、を採用するようになって
来ています。つまりあなたのLinuxコンピュータは、 さらに、顧客がWindowsコンピュータを使っていると仮定して、標準に準拠しない特別な 方法でサービスを提供しているプロバイダが多いのです。このような場合のいくつかに ついて、3.3.2節の最後で述べます。 固定IPアドレスの場合インターネットプロバイダが固定IPアドレスをあなたに付与してくれたならば、
ラッキーです。まず、新規に以下の内容のインタフェース設定ファイル
DEVICE=eth0 IPADDR=x.x.x.x NETMASK=y.y.y.y ONBOOT=yes ここで、x.x.x.xとy.y.y.yはそれぞれ、インターネットプロバイダが指示した値で
置き換えてください。そして
search provider_domain_here nameserver n.n.n.n nameserver m.m.m.m ここで、provider_domain_hereの値はインターネットプロバイダから指示を受けている
はずです。そしてプライマリーとセカンダリーのDNSサーバのIPアドレスを、n.n.n.nと
m.m.m.mのところへ記述してください。もしLinuxコンピュータでDNSサーバを
走らせるのならば、他のネームサーバの行の前に、 DHCPの場合もしあなたのインターネットプロバイダがDHCPによる設定を採用しているときは、以下の
内容のインターフェース設定ファイル
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes そして、DHCPクライアントのデーモンdhcpcdを確実にインストールしてください。
Linux CD-ROMを準備し、 それでは、新しいネットワークの設定をテストします。コマンド
特殊な場合あなたの状況は、今まで述べて来たようなとても単純な状況とは異なるかもしれません。 ここでは、さまざまな困難について短い注釈をいくつか示します。また、より信頼の できる情報源へリンクし、そのアドレスを示します。リンクを提供してくれて、この節を 追加するきっかけとなったJohn Mellorに感謝します。 EthernetでのPPP(PPPoE)ベル・アトランティックなどいくつかのADSLプロバイダは新規の顧客に、"Ethernet でのPPP(PPP over Ethernet、PPPoE)"プロトコルによる接続を求めています。 そのためWindows上のクライアントプログラムを提供していますが、Linuxユーザーには 不便です。幸いPPPoEは単純なプロトコルで、Linuxでサポートするためいくつかの プロジェクトが進行中です。
特異なDHCPへの対応ネットワークプロバイダは、顧客が使えるホスト名やネットワークインターフェース カードをただ一つに限定することを好みます。おそらく、ハブを使ってあなたがEhternet ポートへ複数のコンピュータを接続することを防ぐためでしょう。もちろんハブではなく LinuxとIPマスカレードを使えば同じような効果が得られます。安全性もそのほうが高く なりますし、ケーブル会社にもバレません(訳注: このような接続を禁止している プロバイダーも中にはあるそうです。契約内容を確認してください)。 プロバイダがあなたにホスト名を指示し、接続するときはあなたのWindowsコンピュータ にそのホスト名をつけるよう要求する場合、あなたのLinuxコンピュータがプロバイダの DHCPサーバへアドレスを要求するときはそのホスト名を名乗るようにしなければ なりません。 インターフェース設定ファイルでBOOTPROTOにdhcpとセットすれば、Red Hat DHCP
クライアントが呼ばれます。しかしホスト名は参照しません。Red Hat6.1で、ホスト名を
指定してクライアントを呼ぶには、
以下のように修正します。
Red Hatから派生したディストリビューションのなかには、これではうまく動かない
ものがあるかもしれません。その際は Road RunnerRoad Runner ケーブルサービスのログインは特別です。サーバを使えるようになる前に、 ログインプロセスが動いていなければなりません。幸い、詳細な Linux Road Runner HOWTOが あります。 ネットワーク設定の確認これまでのあなたの努力の成果を見てみましょう。
eth0 Link encap:Ethernet HWaddr 00:60:67:4A:02:0A inet addr:24.65.182.43 Bcast:24.65.182.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:487167 errors:0 dropped:0 overruns:0 frame:0 TX packets:467064 errors:0 dropped:0 overruns:0 carrier:0 collisions:89 txqueuelen:100 Interrupt:10 Base address:0xe400 eth1 Link encap:Ethernet HWaddr 00:80:C8:D3:30:2C inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:284112 errors:0 dropped:0 overruns:0 frame:1 TX packets:311533 errors:0 dropped:0 overruns:0 carrier:0 collisions:37938 txqueuelen:100 Interrupt:5 Base address:0xe800 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:12598 errors:0 dropped:0 overruns:0 frame:0 TX packets:12598 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 注意してください。外部IPアドレスを持っているのが ネットワークの経路を見るには、
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 255.255.255.255 * 255.255.255.255 UH 0 0 0 eth1 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 24.65.182.0 * 255.255.255.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 24.65.182.1 0.0.0.0 UG 0 0 0 eth0 これで、外部ネットワークと内部ネットワーク、ローカルデバイス、特別な 255.255.255.255ブロードキャストアドレス、デフォルトの経路がインターネット プロバイダのゲートウェイへ向く、などの設定が終りました。完璧です。 外部ネットワークと、そして内部ネットワークができました。あとは両者の間の扉を 開けるだけです。ただし最初に、外部から悪い奴等が侵入できないようにしましょう。 3.4 安全確保ADSLやケーブルでインターネットへ常時接続すると、あなたのコンピュータの機密が 毎日24時間、週に7日間、潜在的な脅威にさらされるという欠点があります。Linuxを ゲートウェイに採用すると、他のコンピュータを隠すことができますから、危険は 減ります。すくなくとも外部のインターネットから接続できるのは、あなたのLinux ボックスだけです。つまりあなたのネットワークの安全性は、Linuxボックスの安全性 より高くなることはありません。ここでは、あなたのLinuxコンピュータの安全性を さらに高めるための基本的なヒントを2・3紹介します。 まず、悪い奴等を締め出さねばなりません。ファイル
# # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! ALL: ALL これで、"TCP wrapper"は、すべてのホストからのすべての接続を拒否します
(ちなみに"TCP wrapper"は外部からの接続の95%を制御しています)。
すばらしいルールです。しかしこれでは、あなたのホームネットワーク内部からも、
Linuxコンピュータへ接続できません。これでは困ります。そこで一つの例外を設けます。
# # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # ALL: 127.0.0.1 ALL: 192.168.1. "TCPラッパー"はすべてのサービスについて、ローカルデバイス(127.0.0.1)と あなたのホームネットワーク内のすべてのコンピュータ(192.168.1.)からだけ接続を 許可します。 これで、頑丈な南京錠をかけて、悪い奴等を締め出しました。もっと守りを固めるために 鉄格子と警報システムが欲しければ、さらに凝らなければなりません。あなたのLinux コンピュータの安全についてもっと学びたいのであれば、 Security HOWTO から始めてみるのが良いでしょう(訳注: 和訳 もあります)。 次のページ 前のページ 目次へ |
[ |