0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SEIL/x86 FujiによるNAT設定例(その1:NAPT/IPマスカレード)

Last updated at Posted at 2019-11-10

#はじめに
NAPTは主にプライベートネットワークとグローバルネットワークをつなぐ際のアドレス変換に使用される技術です。
身近な例では、自宅のLANとインターネットを接続するブロードバンドルータの主な役割がこれにあたります。
IPマスカレードと言った方が、分かる方もいらっしゃると思います。

#環境
下図は本稿の前提環境です。
SEIL/x86を挟んで左側(192.168.10.0/24)がプライベート側(LAN側)。
右側(10.1.0.0/16)がグローバル側(WAN側)を想定しています。

SEIL_NATテスト.png

LAN側、WAN側の各ノード(PC)のネットワーク設定は以下の通りとします。

PC IPアドレス サブネット ゲートウェイ
LAN側 192.168.10.10 /24 192.168.10.254
WAN側 10.1.1.10 /16 10.1.1.1

#設定
最初に、上記通りにSEILのインタフェイス設定を行います。

interface lan0 add 192.168.10.254/24
interface lan1 add 10.1.1.1/16

LAN側(192.168.10.0/24)からWAN側へ通信する際に、相手先にインタフェイスLAN1のグローバルアドレス(10.1.1.1)からのアドレスであるようにアドレス変換します。

nat napt add private 192.168.10.0-192.168.10.255 interface lan1

以上で設定は完了です。
#検証
LAN側のノードからWAN側のノードにPINGを実行して、その結果をパケットキャプチャ等を交えて検証します。
パケットキャプチャはSEILのtcpdumpコマンドを使用します。

###PING実行結果
LAN側ノード(192.168.10.10)からPINGを3回実行。WAN側のノード(10.1.1.10)と通信できているのが分かります。

[root@LAN1 Desktop]# ping -c 3 10.1.1.10
PING 10.1.1.10 (10.1.1.10) 56(84) bytes of data.
64 bytes from 10.1.1.10: icmp_seq=1 ttl=63 time=1.96 ms
64 bytes from 10.1.1.10: icmp_seq=2 ttl=63 time=0.533 ms
64 bytes from 10.1.1.10: icmp_seq=3 ttl=63 time=0.543 ms

--- 10.1.1.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.533/1.013/1.965/0.673 ms
[root@LAN1 Desktop]#

###SEIL/x86パケットキャプチャ結果(LAN側)
別セグメントとの通信なので、最初にゲートウェイ(192.168.10.254)のARPリクエストが飛び、その後PINGを3回実行しているのでICMPパケットが3往復しています。
宛先が別セグメント(10.1.1.10)のため、ゲートウェイのMACアドレスを確認するために最初にARPリクエストが発生しています。

SEILx86_02# tcpdump interface lan0
################################################################
tcpdump: when you want to exit this program, please type Ctrl-C.
################################################################
21:42:18.553204 ARP, Request who-has 192.168.10.254 tell 192.168.10.10, length 46
21:42:18.553297 ARP, Reply 192.168.10.254 is-at 00:0c:29:dd:ec:b3, length 28
21:42:18.553446 IP 192.168.10.10 > 10.1.1.10: ICMP echo request, id 30474, seq 1, length 64
21:42:18.553974 IP 10.1.1.10 > 192.168.10.10: ICMP echo reply, id 30474, seq 1, length 64
21:42:19.554172 IP 192.168.10.10 > 10.1.1.10: ICMP echo request, id 30474, seq 2, length 64
21:42:19.554518 IP 10.1.1.10 > 192.168.10.10: ICMP echo reply, id 30474, seq 2, length 64
21:42:20.554937 IP 192.168.10.10 > 10.1.1.10: ICMP echo request, id 30474, seq 3, length 64
21:42:20.555245 IP 10.1.1.10 > 192.168.10.10: ICMP echo reply, id 30474, seq 3, length 64

###SEIL/x86パケットキャプチャ結果(WAN側)
LAN側のキャプチャ結果と比較して、ICMPパケットの発信元アドレスが10.1.1.1に変換されています
これによりNAPTが動作している事が分かります。

SEILx86_02# tcpdump interface lan1
################################################################
tcpdump: when you want to exit this program, please type Ctrl-C.
################################################################
21:42:18.553503 ARP, Request who-has 10.1.1.10 tell 10.1.1.1, length 28
21:42:18.553713 ARP, Reply 10.1.1.10 is-at 00:0c:29:b5:77:65, length 46
21:42:18.553748 IP 10.1.1.1 > 10.1.1.10: ICMP echo request, id 30474, seq 1, length 64
21:42:18.553934 IP 10.1.1.10 > 10.1.1.1: ICMP echo reply, id 30474, seq 1, length 64
21:42:19.554263 IP 10.1.1.1 > 10.1.1.10: ICMP echo request, id 30474, seq 2, length 64
21:42:19.554454 IP 10.1.1.10 > 10.1.1.1: ICMP echo reply, id 30474, seq 2, length 64
21:42:20.555045 IP 10.1.1.1 > 10.1.1.10: ICMP echo request, id 30474, seq 3, length 64
21:42:20.555211 IP 10.1.1.10 > 10.1.1.1: ICMP echo reply, id 30474, seq 3, length 64

###NAT動作状況の確認
SEILではshow status natコマンドでNATの動作状況を確認できます。
以下のように、NAPTで192.168.10.10が10.1.1.1にアドレス変換され、10.1.1.10と通信している事が分かります。

SEILx86_02# show status nat
upnp is currently unavailable

List of active IP mapping:

List of active sessions:
   1:napt  lan1     icmp    192.168.10.10       =        10.1.1.1       <->       10.1.1.10       [00:00:00]
SEILx86_02#

#さいごに
NAPTはNAT環境を構築する際に、最も基本となる事が多い設定です。
これをベースに必要な設定を追加する事で、ルータの設定の幅を増やしていくのが良いでしょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?