ネットワークのFAQ

ネットワーク系のコマンド

基本的に、ifconfig(IPアドレスなどネットワークの低水準の設定)、netstat(TCP/UDPパケットの統計表示)、route(ルーティングテーブルの設定)、top(タスクのモニタリング)、vmstat(仮想メモリの状況表示)、iostat(I/Oデバイスの状況表示)は覚えておこう。

ほかにもいろいろとあるからネットで検索してほしい。traceroute(接続経路を表示), nslookupとdig(名前解決), arp(IPアドレスとMACアドレスの対照表であるARPテーブルを表示。IPアドレスはパケットの送受信のアドレスだが、MACアドレスはそれぞれのハードウェアデバイス機器の識別番号)は覚えておいて損はない。

また、ifconfigは低レベルな設定ができるが、使いやすいもっと高レベルなツールやシステムが使われていることが多い。Red Hatならsysconfig、Debianならifupdown。ただし、最近はNetworkManagerを使うことがどちらのディストリビューションでも推奨されている。

ifconfigやnetstatは現在型遅れになりつつあり、今では新しいiproute2パッケージのipとかssコマンドを使えと言われ始めている。

また、ファイアーウォールについては基本的にiptablesを使う。ファイアーウォールでパケットフィルタリングをすることで、不正な通信をブロックできる。他にも、VPNというインターネット回線を使って仮想的な専用のネットワーク(たとえば社内の専用回線的なネットワーク)を作ることのできる技術もある。トンネリングという送信者と受信者をほかから見えないトンネルで繋ぐ技術もある。

またNFSを使うとネットワーク上のファイルシステムをローカルと同じようにマウントできる。

NFSはUNIX由来の技術だが、Windowsとmixされた環境で使う場合は、Windowsネットワークのフリーソフトウェア実装であるSambaを使うこともできる。たとえば、Windowsをプリンタサーバにして、Sambaで繋いだりできる。

また、NISを使うことで、ネットワークにつながった各コンピュータで認証情報(ログインユーザ名・パスワード)を共通化できる。UNIXの優れた点はこうしたネットワーク性にあると言われる。NFSとNISはSun Microsystemsによる技術。

ほかに、OpneLDAPを使うことで、ディレクトリと呼ばれるデータベースから、ネットワークに繋がったネットワーク機器やユーザー認証情報などに一元的にアクセスできる。

その他ネットワーク関係の技術としては、WebサーバのApache, Nginx(Apacheにはプロセス・スレッドが10,000を超すと不安定になるC10K問題があり、たくさんのスレッドを作成せずイベント駆動でやりとりするNginxが最近流行っている)や、ProFTPDやvsftpdなどのFTPサーバ、lftpなどのFTPクライアント、Windowsとファイルやプリンタを共有できるSamba、メール関係ソフトウェア(MTA・メールサーバ)のsendmail(設定ファイルの形式が超難解), qmail, postfix, eximなどがある。

また、Linuxでは仮想化システムのDockerを使うことができる。Linuxカーネル上で隔離された仮想化コンテナプロセスを起動することができる。Dockerでは、Linuxカーネルの基本的な設定を引き継ぎながら、プロセスとファイルシステムを隔離し、コンテナ上で実行できる。Docker Hubを使うことで、簡単にRailsサーバなどのコンテナイメージを導入・共有できる。また、Kubernetesを使うことで、ネットワークで繋がったクラスタ環境を一台のホストとして仮想化した上でDockerの仮想化システムを実現できる。使うのは簡単だが概念が難しい(ここまで書いていて意味が分からない人は多いかもしれない)が、実際の開発現場ではDockerは開発環境で本番環境を再現するために使う。RailsサーバとMySQLサーバのように、複数のコンテナを連携させるには、Dockerに加えてYAMLでコンテナの構成情報を記述するDocker Composeを使う。

サーバの管理にはSSHを用いてリモートから接続してコマンドを実行する。以前はtelnetやrloginだったが、これらはパスワードなども含めて平文で送受信するため、公開されたインターネットの普及した現在ではセキュアなシェルとしてSSHを用いる。できるだけパスワード認証を使わず、公開鍵暗号通信を用いること、root認証を許可しないこと、デフォルトのポートを変えることなどがSSHにおけるセキュリティ対策の基本。

サーバマシンでないならXのネットワーク透過を使うとか、GNOMEのCORBAとかD-Busとかの分散システムを使ってネットワーク上のシステムを構築することもできる。CORBAやD-Busは、インターフェース記述言語によって、ネットワーク・言語・プラットフォームの垣根を越えてコンポーネントが通信し合う「分散オブジェクト」と呼ばれる技術。MicrosoftのCOMを元にしている。このような分散システムにはほかにRPC(遠隔手続き呼び出し)やJavaのRMI/JavaBeans/EJBなどがある。

LinuxやFreeBSDなどのUNIXには、タスクがたくさんあって高負荷になってもきちんと動くという特徴がある。このため、クラスタだけではなく、中小から大企業まで、サーバーによく使われる。逆に、WindowsのようなGUIで仕事をするデスクトップOSには不向きである。UNIXはインフラとして使うサーバ、Windowsはゲームの延長線上の仕事をするマシンに使うといいだろう。

サブネットマスクとかゲートウェイとか何ですか?

そもそも、インターネットはそれぞれのネットワークが家庭やISPのルータによってつながったもの。

それぞれのルータの接続情報を代表ルータが集約し、ルーティングテーブルという経路表を作り出し、その経路表を全ルータに送る。

パケットのIPアドレスがローカルの中であれば、そのコンピュータにパケットを送信する。外部のものであれば、ルータはどこに送れば宛先に近づけるかを知っているので、ネットワークの外部のルータにそのパケットを送る。

IPアドレスは、そのホストのインターネット上の住所(アドレス)で、パケットの送受信先である。このIPアドレスは、ネットワーク部とホスト部に分かれている。

たとえば、IPアドレスが192.168.0.2である時、これをビットにすると、

11000000 10101000 00000000 00000010

となる。

ネットワーク部とホスト部を識別するために、サブネットマスクを使う。サブネットマスクは、ネットワーク部を1とし、ホスト部を0にしたアドレスのこと。

よって、

11111111 11111111 11111111 00000000

であれば、サブネットマスクは255.255.255.0となる。

また、それぞれのホストのネットワークを共有してくれるアドレス(たとえばルータ)をゲートウェイと言う。

サブネットマスクだけではなく、ブロードキャストアドレスを指定することもある。ブロードキャストアドレスは、パケットをブロードキャストするためだけに存在する。これはネットワーク部と同じアドレスを持ち、ホスト部が1となるアドレスとなる。上記の例では、192.168.0.255となる。

最後に、名前解決がある。このようなビット数値によるアドレスは、機械にとっては理解しやすいが、人間にとっては理解しづらい。そのため、人間に分かりやすい名前(hogehoge.co.jpのような)をつける。ここで、hogehogeの部分をホスト名、co.jpの部分をドメインと呼び、ホスト名は自由につけられる。

名前解決をしてくれるのはDNSという仕組みを用いたネームサーバ。ルータが兼ねていることもあるが、そうでなければISPの指定するネームサーバのアドレスを指定する。ネームサーバは/etc/resolv.confに記述する。DNSを含めてあらゆる名前解決をするソフトウェアのことを「リゾルバ」と呼ぶ。

ルータを用いて家庭内ネットワークを構築する際、静的にIPアドレスを与える(たとえば192.168.0.11ならば11の部分を手動で決める)こともできるが、DHCPを用いれば動的に自動で与えることもできる。DHCPを用いる場合、ネットワーク設定にはDHCPを用いることを指定するだけでよく、管理は楽になるが、IPアドレスがたまに変化することがあり、サーバを公開する場合には向いていない。もし、DHCP環境でサーバを公開する場合、ダイナミックDNSという仕組みを使って、IPアドレスがもし変わった場合はそれを定期的にDNSサーバに通知することができる。

32ビットのIPアドレスが表せるIPv4に比べて、IPv6では128ビットのIPアドレスが表せる。IPv6では石ころにすらIPアドレスがふれるぐらい、多くのアドレスが有り余っているとされる。

クラスタ用語

Linuxはサーバやクラスタにおいてよく使われている。

クラスタについては、性能を重視するHPCクラスタと、信頼性を重視する可用性クラスタがある。Linuxで可用性クラスタをやりたいなら、Heartbeatやその後継のPacemakerが使える。

冗長化とは、サーバのデータ(特にデータベース)をコピーして、一部のデータが破損しても代わりが存在するように多重化すること。

フェイルオーバとは、サーバがダウンしても別のサーバが代わりのサーバを務めること。

ロードバランサとは、サーバの負荷を分散させるため、複数のサーバに処理を分担させる仮想的なサーバのこと。クライアントからの要求を仮想サーバに伝え、クライアントからはロードバランサがサーバであるかのように見える。LinuxではLVSなどのロードバランサ技術がある。

また、仮想サーバのリソースを管理する技術をワークロード管理と呼ぶ。主なワークロード管理ソフトウェア(ジョブスケジューラ)としてSlurmなどがある。

スループットは、単位時間あたりの処理数。これに対してレイテンシとよばれる実際の時間から応答時間を割り出す単位もある。

ネットワークは、大部分が円滑に動いていても、一番細くなっている部分が制限されていると、全体の速度が遅くなる。これをボトルネックと呼ぶ。

IBMのメインフレームのような大型コンピュータは、とても高い信頼性と性能を誇る反面、拡張性が低く、一度作ったシステムを拡張しようと思った時に巨額の追加資金がかかる。こうしたシステムを「中央集約型アーキテクチャ」と呼ぶ。

これに対して、俗に「オープン系」と呼ばれる、UNIXやC/C++/Javaのような「標準的OS・言語」を用いてクラスタを築く方法が増えている。こうしたシステムを「分散型アーキテクチャ」と呼ぶ。

最近は、クラウドと言って、ネットワーク上にコンピュータ資源が存在し、業者が管理する中でそうした「ネットワーク上のリソース」の上でシステムを築く手段も増えている。

だが、クラウドは手軽で安価な反面、物理マシンが自社内になく、管理もしづらいという欠点がある。クラウドに対してオンプレと呼ばれる、「自社内にシステムを構築し、自社で管理する」という方式もとられることが増えている。

最近のエンタープライズシステムは、Webクライアント、Webサーバ、APサーバ、DBサーバで構築されることが多い。これはWebブラウザを端末として使い、サーバを3段階構成にしたもので、LinuxであればApache, Java EE (WebならRuby on Rails), MySQLといった構成が多い。

データベースと並列処理

RDBMSにおいて、SQLを用いたリレーションにより、テーブルを自動的に作成できる。テーブルの主キーは行を一意に特定するが、別のテーブルの主キーを含む列のことを外部キーと呼ぶ。たとえば、学部と名前、名前と電話番号の2つのテーブルがあった時、名前を外部キーとして2つのテーブルを結合し、学部、名前、電話番号のテーブルを自動的に作成する。これを結合と呼ぶ。結合はデータベース操作の基本である関係演算のひとつで、ほかに選択と射影がある。

実際には、同姓同名の場合があるため、名前は外部キーにはできない。同一の項目を入れられないように制約をかけることもできる。

また、テーブルの重複要素を排除し、正しい状態でテーブルを整理することを正規化と呼ぶ。テーブルには、エンティティとリレーションシップがあり、これをE-R図で表す。たとえば、1対1、1対多(ひとつのスレッドにたくさんのコメントがつくような場合)、多対1、多対多のリレーションシップがある。

このようなSQLによるデータベースは、プログラムの中ではデータ構造として格納・構築・参照・変更される。主なデータ構造に、配列(順番に要素を格納する)、連結リスト(要素とポインタを持ち、動的に変化させやすい)、ハッシュ(マップ、辞書、連想配列)、セット(集合)、検索テーブル、行列、スタック(最後に入れたものが最初に出てくる)、キュー(最初に入れたものが最初に出てくる)、ツリー(木構造、たとえば二分探索木などは既出の単語検索の効率化のために使われる)、そしてグラフ(ひとつひとつのノードがエッジと呼ばれる繋がりを表す線で繋がる)などがある。C言語の構造体を用いるときは、データのマッピングだけではなく、効率やパフォーマンスも考える必要がある。

C++のSTLやJavaでは、こうしたデータ構造をテンプレート(ジェネリクス)とともに使う。ArrayListなどのObject型とキャストを用いたプログラミングでは、もしStringを想定しておきながらIntegerが入った場合に、コンパイルエラーにならず、実行時に失敗する。JavaではすべてのクラスがObject型を継承しているため、Object型に頼るプログラミングもできるが推奨されない。このような場合はジェネリクスを使うこと。すべてをObject型として扱う時点で、静的型付け言語を使っている意味がそもそもない。

逆に、RubyやPythonでは動的型付け言語であるため、配列にはどんな要素もミックスして入れることができるし、「アヒルのように振る舞うものはアヒルである」とするダックタイピングもできるが、これは大規模な開発では推奨されたスタイルではない。JavaScriptなどはあえて静的型付けをすることができる言語であるTypeScriptがMicrosoftによって開発されており、JavaScript開発ではTypeScriptを使うことが推奨される場合もある。JavaScriptは「自分でオブジェクトを構築してそれを量産する」というプロトタイプベースのオブジェクト指向を用いているが、TypeScriptを用いることでクラスベースのオブジェクト指向ができる。JavaScriptではthis参照を使うことで委譲もできるが、TypeScriptではクラス継承やジェネリクスやインターフェース(要素となるすべてのメンバと型を指定する)、タプル型(配列のそれぞれの要素に型を指定する。データベースなどを扱う際に有用)や型エイリアス(型の別名。stringをHogeTypeなどとできる)なども用意されている。蛇足だが、JavaScriptで書かれたモジュールは、当然ながら型宣言がない。このようなモジュールをTypeScriptで使うために、型宣言ファイルと呼ばれるものが提供されており、C/C++のヘッダファイルとよく似ている。JavaScriptではDOMを用いてHTML文書の編集はできるが、ファイル処理APIは標準では存在しない。ファイル処理のAPIはサーバーサイド向けのJavaScript環境であるNode.jsで同期・非同期のものが提供されている。

オブジェクト指向において、オブジェクトとRDBMSのマッピングを行うことをO/Rマッピングと呼ぶ。また、オブジェクトをファイルに書き出すことをシリアライズと呼ぶ。データを永続化するための常套手段なので覚えておこう。

データベースは、並列で動かした時のデータの矛盾を無くすため、排他制御やロックを行い、トランザクションが失敗すればロールバックする。同様のことをプログラミング言語でやるならば、Mutexによるロックを使う。

長い間C/C++には標準のマルチスレッドがなかった。そのため、UNIXではpthreadと呼ばれるPOSIXプラットフォーム依存のマルチスレッドを行う。Javaでは標準的にスレッドの機能があり、ThreadクラスまたはRunnableインターフェースを用いることでマルチスレッドのプログラミングができる。Javaではsynchronizedブロック・関数を用いることで、ひとつのスレッドしかアクセスできない(要するにロック)ようにできる。また、Javaではスレッドの一時停止や中断(割り込み)、待機などの機能もあり、例外などの機能とともに使う。

よくある並列処理として、単にマルチスレッドでそれぞれのスレッドが働く場合、マスター・スレーブにより主従関係を用いて複雑な処理を行う場合がある。あるいは、UNIXのパイプのように次々に順番で処理を行うパイプラインモデルがある。

最近では、Promiseやasync/awaitを用いて、非同期処理を行う仕組みもJavaScriptなどに存在する。コールバック関数を使うことでも非同期処理は実現できるため、Windows APIやC#のWindows.Formsなどではコールバック関数を多用するが、用途を考えず多用しすぎると、ネストが深くなり見通しが悪くなる(コールバック地獄)に陥ることがある。JavaScriptではPromiseなどの仕組みを使うことで、基本的には非同期で実行しながら、「この処理が終わったらこの処理をしてね」ということを、resolveとreject、thenとcatchの仕組みで実行できる。async/awaitは同期処理を書く場合と同じようにPromiseの非同期処理を書く記述のスタイル。

高速かつ効率的なアプリケーションを開発するには、ボトルネックとなっている部分を調べること、キャッシュを行うこと、並列処理を行うこと、データ構造を変えること、データを圧縮することなどが言える。言語を単にPythonからC++にすることでも高速化はするが、アルゴリズム的な部分は変わらないため、アルゴリズム的な改良も必要となる。

最近は、Kubernetesを用いることによるマイクロサービスという仕組みが流行している。ひとつのJava EEアプリケーションサーバですべての機能をもたせるのでなく、コンテナごとに機能をもたせてKubernetesを用いてオーケストレーションする。ひとつのサービスがすべてを行うわけでないため、テストなどが容易となる。

SELinuxとかって何?

UNIXではrootユーザのほかに一般ユーザが存在するが、rootユーザの絶大な特権を制限する方法がない。

また、ファイルやユーザごとにパーミッションをつけることはできるが、HTTPサーバプロセスなどの「プロセス」に直接アクセスを制限するルールを持たせることができない。

SELinuxでは、rootユーザに制限をかけられるほか、プロセスごとに権限のレベルを制限することができる。

ネットワークカードや無線LAN機器、LANやネット接続の設定について

NIC の 10/100、全二重/半二重 (full-duplex/half-duplex) の設定を確認、変更したい。

mii-tool や ethtool を使ってください。

[root@localhost]# ethtool eth0 

現在の状態を確認。

[root@localhost]# ethtool -s eth0 duplex full

注意: この手のツールは、モジュールにオプションを渡しているだけである。 そのオプションをカーネルが認識したかどうかは不明である。 ドライバによってはツールでの変更が出来ないものもある。 また、システムの再起動時には設定がクリアされるため 恒常的に変更したいのであれば、マニュアルファイルを読むべきである。


無線 LAN

最近は(有線の)LAN 接続よりも、無線 LAN の導入に関心が集まっています。この問題が主因でクライアントのパソコンに Linux の導入をためらっている方もいるかも知れませんので、参考情報を載せておきます。(追加情報があれば、お願いします。)

ノートブック型PC の場合

無線LANカードを利用する

orinoco_cs などで対応しているチップを採用した無線LANカードを入手するのが無難でしょう。例えば、次の無線LANカード製品は CentOS 3/4、Debian 3.1/4.0、Fedora Core 1、MEPIS、Mandriva、Red Hat Linux 9 を始めとした多くのディストリビューションで自動認識されるようです。

Buffalo: WLI-PCM-L11, WLI-PCM-L11G, WLI-PCM-L11GP (旧製品。ただし店舗によっては在庫がある模様、また探せば中古品が入手可能)

Vine Linux の場合も、上記 Buffalo (旧 Melco) のカードは使えますが、設定が多少ややこしいので詳しくは Vine Linux の該当項目を見てください。

  • LAN 端子を備えたノートブックであれば、もちろん後述のイーサネット・コンバーターの利用も検討できます。デスクトップと共用できるので、使い回しが効いて便利な面があります。

USB 用無線子機を利用する

最近のノートブックでは、無線LANカード(PCカード規格)専用の接続端子が標準でついていないケースが増えています。その場合は、USB 2.0 端子へ直接つなぐタイプの無線子機を検討しても良いでしょう。ただし対応可能な機種が限られるので、事前調査が必要です。

デスクトップ型PC の場合

デスクトップ型PCでは、よく一般に売られているPCカード規格(PCMCIA)に対応した無線LANカードの利用は、専用の接続端子が標準でついていないためできない場合があります。 この場合の対処としては、次のような方法が考えられます。

イーサネット・コンバーターを子機として利用する

この種の製品は、国内の主要メーカーから販売されているので、入手は容易です。Webブラウザから設定が可能な機種もあります。

現在発売されている製品の中に、メーカーで Linux をサポートしている製品は見当たらないようですが、OS の違いによる影響はあまり受けないので、動作する可能性が高いと考えられます。

(注1) メーカーによって、接続設定に独自の仕様があると利用できない場合があるので、導入する場合は同一メーカーのアクセスポイントを利用する方が安心できます。

(注2) イーサネット・コンバーターでは、Webブラウザからの設定が可能となっている機種があります。ただし、機種によっては、購入した直後の最初の接続設定を Windows パソコンから行うことになる場合があります。

PCI バス用の無線 LAN ボードを追加する

この場合、OS が自動認識する可能性は低いと思われますので、追加設定が必要かも知れません。

起動時 eth0 が存在しないというエラーが出る

pcmcia サービスが起動する前に network サービスが起動してしまい、PCMCIA のネットワークカードを見つけられないために起こることがあります。起動スクリプトの起動順を変えて対処します。

まず、普段使うランレベル(Red Hat系なら5、Debian系なら2)の rcディレクトリに移動します。例) cd /etc/rc.d/rc5.d/

次にそれぞれの起動の順番を変更します。頭の数字の順番に起動するので、pcmcia が network よりも先に起動するように数字を変えます。(root 権限が必要)

  1. mv S10network S11network
  2. mv S24pcmcia S10pcmcia

他の起動スクリプトとの兼ね合い上、なるべく早く起動するように network の数字は10前後にしておいたほうが無難です。

これで、次回起動時より、pcmcia(10) → network(11) の順番に起動するようになります。

[追加情報] 新しいノートPCは内蔵の無線LANを装備していますが、下記の情報が入手できればLinux(FedoraCore3で確認)で利用可能です。 % lspci | grep Atheros 02:02.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

ディストリビューション の PCMCIA や Card Bus 対応情報を知るには?

電波の受信レベルを GNOME に表示させることはできますか。

「ワイヤレス接続モニタ」という GNOME 付属のアクセサリーがあります。

デスクトップの下部に表示されるパネル上でマウスを右クリックし、 [パネルに追加] > [インターネット] > [ワイヤレス接続モニタ] を開くと、通知アイコンがパネルに追加されます。

内蔵無線 LAN (Atheros 社製)を使いたい

Linux で Toshiba Tecra の内蔵無線LANを使う というページを参考にして、対応ドライバーを組み込み設定してください。


ネットワーク用各種ユーティリティ

LANにつながっているコンピュータを調べたい

ping -b 192.168.0.255 や arp を使う。

外部と接続しないのにホスト名、ドメイン名は必要なの?(ホスト名を変更したい)

適当なホスト名、ドメイン名をつけてやってください。example.com なんかは実際に使われないことになってるので、おすすめ。

インストール後にホスト名を変更したい場合は ITMedia のホスト名を変更したいを参照のこと。

最近のディストリビューションにはこの記事に出てくる linuxconf が収録されていない場合が多い。その場合は設定ファイルを直接編集。

サービスとポートの一覧表はないですか?

/etc/services ファイルにあります。

あるポート番号を使っているプロセスを知りたい。

root で以下のコマンドを実行すれば調べられます。

  • lsof -i tcp:ポート番号
  • fuser -v -n tcp ポート番号
  • netstat -anp | grep ポート番号

参考:

DNS無しでLANのマシンの名前を逆引きしたい

/etc/hosts ファイルに名前を書いておいてください。

192.168.0.2  hoge.hogehoge  hoge
192.168.0.3  fuga.hogehoge  fuga

Windows のほうの C:&yenwindows&yenhosts (9x系列)、%Systemroot%&yensystem32&yendrivers&yenetc&yenhosts (NT系列) を同じ書式のファイルを用意すると、どちらからでも逆引きできるよ。

IP アドレスとドメイン名の変換がしたい。

host コマンドを使ってください。dig コマンドも使えます。

うまく行かない場合は /etc/resolv.conf ファイル や DNS の設定を確認してください。

名前解決ができません!!(ip直指定では接続できます)

/etc/resolv.conf に DNS サーバを指定していますか?

nameserver 123.456.789.101
nameserver 123.456.789.102

先生!! ping コマンドが止まりません!!

Ctrl+C で止めてください。あるいは -c オプションで回数を事前に指定 ($ ping -c 5 www.yahoo.co.jp など)。

ネットワークの経路を調べたいんですが。

traceroute www.yahoo.co.jp などとしてください。

DHCP接続でIPアドレスを再取得したい

dhclient コマンドを使います。

$ su
# dhclient -r

でIPアドレスを解放し、つづいて再取得します。

# dhclient

問題発生

ブラウザなどで名前解決が異常に遅いです

アクセスの際に IPv6 で接続しようとするため、アドレス解決に時間がかかっていると考えられます。その結果、ページが表示されるまでの時間がかかり、ネットワーク環境が遅いと感じるのでしょう。

アプリケーション個別に IPv4 でアクセスする方法

カーネルレベルで IPv6 を無効にする方法

  • modprobe.conf を編集する場合 /etc/modprobe.conf ファイルを変更します。/etc/modprobe.confで以下のように設定し、IPv6を無効化します。
    alias net-pf-10 off
    alias ipv6 off
    
    ディストリビューションによっては、このファイルを新規に自分で作るので、同名ファイルがない場合があります。

/etc/modutils/aliases が存在している場合には、設定の変更はこのファイルより行います。 /etc/modutils/aliases の次の行のコメントを外します。

# alias net-pf-10 off		# IPv6

変更後は次のようになります。

alias net-pf-10 off		# IPv6

たとえ /etc/modules.conf と /etc/modprobe.d/aliases が存在しても、それらのファイルは変更せずそのままにしておきます。

  • syscrl.conf を編集する場合 /etc/syscrl.conf ファイルを以下のように変更(または追加)してください。
    net.ipv6.all.disable_ipv6=1
    

IPv6が動いているか調べる

ifconfig コマンドでループパックデバイスを調べてください。

# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host  ←この行があればIPV6が動作してます
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:46 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3016 (3.0 KB)  TX bytes:3016 (3.0 KB)

Fedora Core

VMware にインストールした時ネットワークが起動しない

VMware上にインストールした時、DHCP で IPアドレスを取得する設定にしているとネットワークがリンクアップしていないため起動しません。

以下のファイルを編集します。

  • /etc/sysconfig/network-scripts/if-cfg[n]
  • /etc/sysconfig/networking/devices/ifcfg-eth[n] <-- ない場合は作成

[追加]

 check_link_down () {
 return 1;
 }

Vine Linux

無線LANカードが利用できないのですが。

Vine Linux 3.0 の場合です。[アプリケーション] > [システム・ツール] > [ネットワークの管理] よりネットワークの設定を行えます。2.6 と比較して設定ツールは改善されたようですが、WEP KEY を有効にしている場合にはその設定項目が存在しないため自動接続ができず、設定が正常に完了できません。 そこで、 /etc/sysconfig/network-scripts/ifcfg-eth1 ファイルを適当なエディターで開くと、次のように(一例)記述されているでしょうから、

BOOTPROTO=dhcp
ONBOOT=yes
USERCTL=yes
NAME="無線 LAN カード"
DEVICE=eth0
ESSID=**********
PEERDNS=yes

さらに次の一行を追加してください。これでたいていは接続できるようになるでしょう。

KEY=s:*************

Red Hat Linux

Red Hat Linux 9 で再起動すると ADSL がしばらくの間つながらなくなってしまいます。

rp-pppoe パッケージのバグです。

パッケージのインストール時に起動スクリプトの設定は行われるのに終了スクリプトの設定が行われないため、シャットダウンもしくはリブート時に正常に切断がされず、プロバイダ側が異常終了と判断して五分間ぐらい接続を停止するのが原因です。

以下の方法で解決します。

# /sbin/chkconfig --del adsl
# /sbin/chkconfig --add adsl

このように一度スクリプトの設定を削除し、追加し直すことで終了時の設定が正常に設定し直されます。

KNOPPIX

無線LANカードの設定はどこで行なったらよいのですか。

無線LANカードをパソコンのPCカードスロットに差し込んだだけで直ぐに利用できる場合もありますが、カードの稼働ランプが点灯していなければ、無線LANの接続設定を実行する必要があります。

K アイコン(メインメニュー) > KNOPPIX > Network/Internet > ネットワークカードの設定 から接続設定を行ないます。この場合は、「DHCP のブロードキャストを使いますか?」という問いかけで「No」を選択し、ネットワークの各項目を再設定します。

出てくる入力フォームが分からない場合はWINDOWS(XP)で「ワイヤレスネットワークの表示」の「サポート」タブを確認する。

それぞれの問いかけにWINで確認した項目をそれぞれ入力する。

  • 「IPアドレスを入力して下さい」 --- IPアドレス
  • 「ネットワークマスクを入力して下さい」 --- サブネットマスク
  • 「ブロードキャストアドレスを入力して下さい」 --- そのままで多分OK
  • 「デフォルトゲートウェイを入力して下さい」 --- デフォルトゲートウェイ
  • 「ネームサーバーを入力して下さい」 --- デフォルトゲートウェイ

これで多分OK。

あとの不明な項目については「OK」で切り抜けると、自動設定が行なわれます。これで大抵は、ネットワークに接続可能となります。

White Box Enterprise Linux

ネットワーク・タイムサーバーと時間を同期させることはできますか。

はい。日付と時刻の調整という設定画面で、「ネットワークタイムプロトコルを有効にする」という項目にチェックを入れます。 Red Hat Linux 9 や Fedora Core ではあらかじめ登録された中から選択するだけですが、WBEL では空欄となっているので明示的に指定する必要があります。

ntp.ring.gr.jp (Ring Server Project の NTP サーバによる国内サービス)
time.nist.gov (National Institute of Standards and Technology- 米国標準技術局の運営)

これらはその一例です。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2021年09月07日 19:05