Presentation is loading. Please wait.

Presentation is loading. Please wait.

DHCP,NATDHCP、プロキシ、NAT 7. DHCP、NAT 水野嘉明

Similar presentations


Presentation on theme: "DHCP,NATDHCP、プロキシ、NAT 7. DHCP、NAT 水野嘉明"— Presentation transcript:

1 DHCP,NATDHCP、プロキシ、NAT 7. DHCP、NAT 水野嘉明
情報システム管理 7. DHCP、NAT 水野嘉明 情報システム管理 1 1

2 本日の内容 1. DHCPサーバ DHCPの仕組みと設定 2. NAT NATの仕組みとNATルータの実現 2

3 1. DHCPサーバ 1.1 DHCPの仕組み 1.2 DHCPサーバの設定 1.3 クライアントの設定 3

4 1. DHCPサーバ DHCP Dynamic Host Configuration Protocol
クライアントのIPアドレス割り当てを自動化する仕組み 4

5 1.1 DHCPの仕組 クライアント全てに、固定IPアドレスを割り振るのは、無駄が大きい/不便なことがある
クライアントが起動した時に、プールしてあるIPアドレスの中から、動的に割り振る (注) サーバは、固定の方が便利 5

6 1.1 DHCPの仕組 DHCPサーバは、IPアドレス以外にも 様々な情報を配布 ネットマスク DNSドメイン名
ルータ(デフォルトゲートウェイ)のアドレス NISドメイン名 その他のサーバアドレス etc. 6

7 1.1 DHCPの仕組 新しいクライアントが接続した時に、IPアドレス等を割り振る DHCP サーバ IPアドレス クライアント 7

8 1.1 DHCPの仕組 【問題】 TCP/IPにて通信するためには、 IPアドレスが必要。IPアドレス等が未定の時に、どのようにしてDHCPサーバと通信するのか? 【答】 ブロードキャストを用いる 8

9 1.1 DHCPの仕組 (1) IPアドレス要求のブロードキャストを、ネットワークに流す (2) DHCPサーバが、IPアドレスを割り当てる
無視 無視 クライアント 9

10 1.2 DHCPサーバの設定 KNOPPIXでは、 ISC版 dhcpd を使用 他に次のようなDHCPサーバがある
Dnsmasq (Linux用、DNS機能あり) Windowsサーバの DHCPサーバ ルータ内実装 10

11 DHCP,NATDHCP、プロキシ、NAT
設定ファイルは、 /etc/dhcpd.conf または /etc/dhcp3/dhcpd.conf このファイルに、配布する情報を記述する dhcp3 の"3" は、バージョン3の意味 11

12 1.2 DHCPサーバの設定 dhcpd.conf 記述例 (続く) ## ## dhcpd.conf
ddns-update-style none; shared-network DHCP { option subnet-mask ; default-lease-time 21600; max-lease-time 43200; 12 (続く)

13 1.2 DHCPサーバの設定 (続き) subnet 192.168.1.0 netmask 255.255.255.0 {
range ; option broadcast-address ; option routers ; option domain-name "xxxx.xx.xx"; option domain-name-servers ; } 13

14 1.2 DHCPサーバの設定 /etc/dhcpd.conf 記述内容 option subnet-mask ネットマスクの値
default-lease-time/max-lease-time IPアドレスの有効期間 range プールしてあるIPアドレスの範囲 option routers デフォルトゲートウェイ など 14

15 1.2 DHCPサーバの設定 デーモンを起動 KNOPPIX (Debian系) $ invoke-rc.d dhcpd start
RedHat系 $ invoke-rc.d dhcpd start $ update-rc.d dhcpd defaults $ service dhcpd start $ chkconfig dhcpd on 15

16 1.2 DHCPサーバの設定 注意 ネットワークに、複数のDHCPサーバは(原則として)存在できない
16

17 1.3 クライアントの設定 Linuxクライアントの設定 設定ファイルを編集する
/etc/network/interfaces (Debian系) /etc/sysconfig/network-scripts /ifcfg-eth0 (RedHat系) 17

18 1.3 クライアントの設定 KNOPPIXでの設定例 (/etc/network/interfaces)
# The primary network interface allow-hotplug eth0 iface eth0 inet dhcp 18

19 1.3 クライアントの設定 【参考】 固定IPアドレス時の設定例 (KNOPPIX) allow-hotplug eth0
iface eth0 inet static address netmask broadcast gateway 19

20 1.3 クライアントの設定 ifup / ifdown というツールが、 この/etc/network/interfacesを用いる
ファイルを読み込む dhclient (DHCPクライアント)を呼び出し、IPアドレスを取得 ifconfig を呼び出す 20

21 1.3 クライアントの設定 Windowsでの クライアントの設定 21

22 2. NAT 2.1 NATとは 2.2 ルータによる接続 2.3 IPアドレス変換の仕組み 2.4 NATルータの実現
2.2 ルータによる接続 2.3 IPアドレス変換の仕組み 2.4 NATルータの実現 2.5 iptablesの基本的な使用法 22

23 2.1 NATとは NAT Network Address Translation
プライベートIPアドレスと、グローバルIPアドレスを変換する仕組み 23

24 2.1 NATとは グローバルIPアドレスの枯渇問題 プライベートIPアドレスを使用 ローカルなネットワーク内だけで通用するIPアドレス
外部には、アクセスできない 24

25 2.1 NATとは 外部にアクセスする時には、プライベートアドレスをグローバルアドレスに変換し、これで外部にアクセスする
プライベートIPアドレス グローバルIPアドレス 変換 25

26 DHCP,NATDHCP、プロキシ、NAT
ルータ ハブ ハブ DMZ インターネット プライベート アドレス空間 グローバルアドレス空間 26 26

27 2.1 NATとは NATルータの機能 パケット中継機能 IPアドレス変換 パケットフィルタリング (ファイアウォール) 27

28 2.2 ルータによる接続 ルータとは ネットワーク間を相互接続する通信機器
OSI基本参照モデルの第1層「物理層」から第3層「ネットワーク層」までの接続を担う 28

29 2.2 ルータによる接続 ルータは、複数のIPアドレスを持つ 二つのネットワークを相互接続 192.168.1.254
/24 /24 二つのネットワークを相互接続 29

30 2.2 ルータによる接続 ルータと TCP/IPの階層構造 コンピュータ コンピュータ アプリ アプリ TCP ルータ ルータ TCP IP
LAN LAN WAN WAN LAN LAN 30

31 2.2 ルータによる接続 【参考】 LAN同士の接続には、層(機能レベル)毎に、異なる装置がある 4~7層 ネットワーク層 データリンク層
物理層 ゲートウェイ ルータ/ レイヤ3スイッチ ブリッジ/ スイッチングハブ リピータ 4~7層 ネットワーク層 データリンク層 物理層 31

32 2.2 ルータによる接続 Default: /24 /24 /24 Default: 32

33 2.2 ルータによる接続 パケット転送に必要な情報 IPアドレスとネットマスク
パケットを送りたいホストが同一ネットワークに属するかどうかの判定に必要 ルーティング情報 受取ったパケットをどこへ送るか デフォルトゲートウェイ 33

34 2.2 ルータによる接続 ルーティング情報の例 デフォルトゲートウェイ 10.1.1.0 255.255.255.0 10.1.1.254
宛先 IPアドレス ネットマスク ゲートウェイ IPアドレス インターフェース IPアドレス デフォルトゲートウェイ 34

35 2.3 IPアドレス変換の仕組み NATルータの機能 パケット中継機能 IPアドレス変換 パケットフィルタリング (ファイアウォール) 35

36 2.3 IPアドレス変換の仕組み パケットのヘッダに、以下の情報 送り元のIPアドレス 送り先のIPアドレス 送り元ポート番号
送り先ポート番号 など これらを書き換える 36

37 2.3 IPアドレス変換の仕組み IPアドレス変換 インターネット NATルータ ヘッダ (プライベ-ト) データ ヘッダ (グローバル)
37

38 2.3 IPアドレス変換の仕組み IPアドレスの変換方式には二通り (1) プールしてあるIPアドレスを、順に割り当てる
同時に外部にアクセスできるクライアント数には、限度 (2) IPアドレスと、ポート番号を組にして、変換する NAPT または IPマスカレード 38

39 2.3 IPアドレス変換の仕組み NAPTの例 送り元192.168.1.1 (20031) ⇒ 160.30.21.110 (10001)
プライベート NAPTの例 送り元 (20031) ⇒ (10001) 送り元 (20055) ⇒ (10002) 送り元 (20055) ⇒ (10003) NAPTは、変換を記憶しておく グローバル 39

40 2.3 IPアドレス変換の仕組み 返信のあて先が (10001) ⇒ (20031) に返す (10002) ⇒ (20055) に返す 40

41 2.3 IPアドレス変換の仕組み NAPTは、変換結果を記憶しており、それによって返信を配達する 外部主導のアクセスは拒否する
= ファイアウォール機能 41

42 2.3 IPアドレス変換の仕組み NATの メリット グローバルIPアドレスの節約 外部に対して、内部ネットワークのアドレス体系を隠蔽
ネットワークの柔軟性 NATの デメリット パケット遅延 一部アプリケーションが動作しない 42

43 2.4 NATルータの実現 ルータ機能(パケット中継機能)は、 UNIXのカーネルに備わっている
LinuxにおけるパケットフィルタリングとNAPT(IPマスカレード)機能は、 iptables コマンド による (「5. ネットワークとファイアウォール」) 43

44 2.4 NATルータの実現 パケット中継機能 ネットワークインタフェースは、二つ以上が必要 内部へ 外部へ 44 44

45 2.4 NATルータの実現 パケット中継機能 パケット中継機能は、デフォルトではオフになっている ⇒ これをオンにする
/proc/sys/net/ipv4/ip_forward に1を書く $ echo 1 > /proc/sys/net/ipv4/ip_forward 45 45

46 DHCP,NATDHCP、プロキシ、NAT
再起動時にも有効にするには、/etc/sysctl.cont ファイルの net.ipv4.ip_forward 行を編集 /etc/sysctl.cont # Controls IP packet forwarding net.ipv4.ip_forward = 1 : または、コメントアウトしてある行を有効にする 0から1に変更 46 46 46

47 2.4 NATルータの実現 NAPT(IPマスカレード)機能 iptables の 【POSTROUTING】チェインにて実現する
ファイアウォール機能 同じく iptablesコマンドにて実現 47 47

48 2.5 iptablesの基本的な使用法 再掲 iptablesは、パケットが通過する経路上に、5つのチェイン を設けている 【INPUT】
【FORWARD】 【OUTPUT】 【PREROUTING】 【POSTROUTING】 48

49 2.5 iptablesの基本的な使用法 再掲 5つのチェインとパケットの流れ 入ってくるパケット 出て行くパケット PREROUTING
ルーティング (経路)の 決定 入ってくるパケット ローカル プロセス INPUT OUTPUT 出て行くパケット FORWARD POSTROUTING 49

50 2.5 iptablesの基本的な使用法 iptables のチェイン チェイン名 対象 INPUT 入力(受信)パケット OUTPUT
出力(送信)パケット FORWARD インタフェース間をまたぐ転送パケット PREROUTING 受信時にアドレス変換 POSTROUTING 送信時にアドレス変換 50

51 2.5 iptablesの基本的な使用法 iptablesは、このチェインを監視し 『このパケットの送信元アドレスを 書き換える』 『このパケットは通さない』 『このパケットは通す』 などの処理を行う チェインをユーザ定義することも可 51

52 2.5 iptablesの基本的な使用法 iptablesには、テーブル と言う概念がある filter テーブル パケットフィルタリング用
nat テーブル IPマスカレード用 52

53 2.5 iptablesの基本的な使用法 各テーブルで、使用できるチェインが異なる filter テーブル
INPUT, FORWARD, OUTPUT nat テーブル PREROUTING, OUTPUT, POSTROUTING 53

54 2.5 iptablesの基本的な使用法 iptables コマンド コマンド どのチェインに
$ iptables -t table名 -A chain名 パラメータ -j 処理方法 どのテーブルの どう処理するか どのようなパケットが通過する時に 54

55 2.5 iptablesの基本的な使用法 iptablesの主なコマンド オプション 意味 -A 新しいルールを追加 (末尾) -I
新しいルールを追加 (先頭) -D ルールを削除 -F すべてのルールを削除(初期化) -P ポリシー(基本ルール)を設定 -L ルールの一覧表示 55

56 2.5 iptablesの基本的な使用法 どのテーブルの filter または nat を指定する どのチェインに
前述のチェイン名を指定する INPUT, FORWARD, ・・・ 56

57 2.5 iptablesの基本的な使用法 どのようなパケットが通過する時に 項目 オプションと指定例 インタフェース -i eth0
プロトコル -p tcp 送信元アドレス -s /24 送信先アドレス -d 送信元ポート --sport 23 送信先ポート --dport 1024:65535 接続要求パケット --syn 57

58 2.5 iptablesの基本的な使用法 どう処理するか 処理 指定 パケットを許可する ACCEPT パケットを拒否する DROP
MASQUERADE ログをとる LOG 58

59 2.5 iptablesの基本的な使用法 iptables コマンドによる設定は、再起動により リセットされる ⇒ コマンドによりセーブしなければ   ならない $ invoke-rc.d iptables save filename $ iptables-save > filename セーブする場所は、ディストリビューションにより異なる (/etc/sysconfig/iptables等) 59

60 2.5 iptablesの基本的な使用法 /etc/sysconfig/iptablesファイルの例 60

61 2.5 iptablesの基本的な使用法 NAPT(IPマスカレード)機能の 設定例
$ iptables -t nat -A POSTROUTING -s /24 -j MASQUERADE 61 61

62 次回の予定 アプリケーションのインストール 1. ソースとパッケージの比較 2. ソースによるインストール 3. パッケージ 62

63 DHCP,NATDHCP、プロキシ、NAT
お疲れ様でした 63


Download ppt "DHCP,NATDHCP、プロキシ、NAT 7. DHCP、NAT 水野嘉明"

Similar presentations


Ads by Google