NATとIPマスカレード
いろいろと調べてページを作ったのですがもっと良い説明が@ITにて発表されてましたので私の作ったものは
お蔵入りにしました、下記をご覧下さい。
atmarkIT
- NATは一対一、IPマスカレードは一対多のアドレス変換を行う。
- IPマスカレードはさらにポート変換も行う。
- 内→外のパケットは、IPアドレス、ポートが書き換えられるがこの処理をルータはアドレス変換テーブルとして記憶する。
- ルータに届いた返信のパケットはアドレス変換テーブルをもとにして、ポートが書き戻されPCに送られる。
- 外部が起点の通信を内部へ通す事を可能にするには静的IPマスカレード(ポートフォワーディング)やDMZが必要となる。
おまけ
- DHCPってどういうこと?
- NetBEUIならインストールするだけで利用可能ですがTCP/IPではIPアドレス以下DNS、
デフォルトゲートウェイ、サブネットマスク等々設定せねばならない項目が多数あります。
一文字設定を間違えても通信に支障が出てきますし場合によってはネットワーク全体に悪影響を
及ぼすこともあります。PCの数が多くなってくると間違いなく全てのPCの設定をするのは
大変な作業です、そこでネットワーク内にDHCPサーバを置きそこにネットワーク設定をまかせてしまおう
というのがDHCP(Dynamic Host Configuration Protocol)です。
- 具体的な動作としては、あるPCを起動した時にそのPCはDHCPサーバ(PCないしルータ)
にネットワーク設定を問い合わせてサーバから与えられた設定を使用します。DHCPクライアント側の設定は
「IPアドレスを自動取得する」のラジオボタンをONにします、手動で入力された項目がある場合は
それを使用しDHCPサーバからのものは無視されます。
- またネットワーク内に複数のDHCPサーバを稼動させることも可能ですがそれなりの設定をしないと
ネットワーク障害の原因となります、「インターネット接続の共有」をインストールしたPCは
ユーザーに断りも無くDHCPサーバとなってしまいますので注意が必要です。
- DNSってなに?
- インターネット上のドメイン名をIPアドレスに変換する仕組みDomain Name Systemの略。
DNSサーバにwww.yahoo.co.jp(日本の、企業で、ヤフーの、wwwというホストの)IPアドレスは?
と訊ねれば210.152.236.115と答えてくれます、この4つの数字がわからないとTCP/IPで通信できません。
ブラウザにURLを入力するとDNSサーバにIPアドレスを問い合わせてから(この時はUDPを使用)
TCP/IPでの通信となります。
- NBTって?
- NetBIOS over TCP/IPの略。Windowsのファイル・プリンタ共有をTCP/IPで行うための規格、
NetBEUIでは不可能なルータを越えた共有が可能。
- WINSって?
- Windowsのファイル・プリンタ共有ではコンピュータ名(NetBIOS名)を使用するがTCP/IPでは
NetBIOS名は使えずIPアドレスを使わなくてはなりません。同一ネットワーク内であればブロードキャスト
によって名前解決できますがルータは通常ブロードキャストを通しませんので異なるネットワークの
NetBIOS名とIPアドレスのマッピングができません、そこでWINSサーバを設置しておいてそこに
登録、問い合わせをして名前解決するのがWINS=Windows Internet Name Serviceです。
小規模で固定IPアドレスであればWINSを使わずLMHOSTSファイルを作成し手作業で一台づつ
登録してもネットワークを越えた共有が可能です。
参照
- HOSTSファイルとLMHOSTSファイルはどう違うの?
- HOSTSファイルはホスト名とIPアドレスの変換表です。
- 歴史的経緯としてTCP/IPはUNIXで採用されてインターネットはほぼUNIXシステムによって
運用されてきました、HOSTSファイルもDNSもUNIXで使われました。またUNIXで
コンピュータの名前はホスト名と呼ばれています。
- MaicrosoftではネットワークとしてLanManagerを採用してきました、ここでLMHOST、
コンピュータ名(NetBIOS名)を使ってきました、Windowsだけのネットワークではなんの問題も
無かったでしょうがインターネットが爆発的に規模を拡大して世界標準となったのでTCP/IPに対応し、
WWW、メールなどでホスト名とも付き合っていく破目にになりました、つまり二股かけた状態なので
混乱しやすくわかり難いのです。
- Windows2000でActive Directoryを導入すればDNSが名前解決の基本となります、しかしネットワーク内に
Win9X系があったりNT Serverが稼動してたりするとNetBIOS名との腐れ縁は・・・
- っていうか逆に名前解決ってなによ?
- コンピュータのNetBIOS名やホスト名からそのコンピュータが実際に使っているIPアドレスを
調べて対応を把握することです。
- NetBIOS名の場合まずネーム・キャッシュから調べ始めます以前に名前解決したNetBIOS名は
一定期間メモリに記憶されています、nbtstat -c
で現在のキャッシュが見れます。ここで見つからない時はこれ以降、ブロードキャスト、LMHOSTS、WINS、
DNSを用いて検索できますがどの方法をどんな順番で使うかはノードタイプで指定されます
TechNet。
DHCPサーバでノードタイプを指定できますがレジストリで個別の変更も可能です。