Cisco ASA PPPoE+NAT/PAT

スポンサーリンク

CiscoASAでフレッツに接続し、PPPoE接続する際の設定例です。


一言でフレッツといってもたくさんの種類がありますが、今回の前提条件は以下です。

 

・回線はBフレッツ(光ネクスト)
・固定IP16 サービスを利用 ( LAN型払い出し )
・DMZが存在し、外部公開サーバが立っている
・DMZはプライベートIP(192.168.253.0/24)を使用しているがNAT設定でグローバルIPに変換している
・内部ネットワーク(inside)はプライベートIP(192.168.0.0/24)を使用し、PAT変換して外部にぬける


以下、順番に説明してゆきます。


■インターフェイス設定

interface Ethernet0/0
 nameif outside
 security-level 0
 ip address xx.yy.xx.yy 255.255.255.255 pppoe setroute

interface Ethernet0/1
 nameif inside
 security-level 100
 ip address 192.168.0.254 255.255.255.0

interface Ethernet0/1
 nameif dmz
 security-level 50
 ip address 192.168.253.254 255.255.255.0


フレッツに接続するインターフェイスはE0/0としており、ISPより割り当て られた16個のうちの1つをASAのインターフェイスに割り当てています。デフォルトではPPPoE機能はオフになっているので明示的にオンにしてsetrouteはpppoeの接続が確立していない場合にデフォルトルートが設 定される(らしい)。スタティックのroute outside 0 0を手動で書かなくても自動でデフォルトルートが付与されます。


■DHCPサーバ設定

LAN内部の端末に自動で割り振る簡易なDHCP機能もASAは標準で装備しています。

(config)# dhcpd dns xx.xx.xx.xx yy.yy.yy.yy
(config)# dhcpd domain unix-power.net
(config)# dhcpd address 192.168.0.10-192.168.0.100 inside
(config)# dhcpd enable inside


■PPPoE設定

(config)# vpdn group XXX request dialout pppoe
(config)# vpdn group XXX localname xxyyzz@xxyyzz.ne.jp
(config)# vpdn group XXX ppp authentication chap
(config)# vpdn group xxyyzz@xxyyzz.ne.jp password **********


上記がPPPoEのISPより割り当てられたユーザIDとパスワードに関する設定です。XXXの部分は任意の名前 でOKです。2行目と4行目では実際に割り当てられたユーザ名を指定します。4行目では続けてパスワードも合わせて設定します。ちなみにCCOなどでは以下のコンフィグが設定例として記載されていますが、設定していなくても動きます。

interface Ethernet0/0
 pppoe client vpdn group XXX


PPPoEに関しては基本的にこれのみであとは以下の確認コマンドを実行します。

# show vpdn session pppoe state

PPPoE Session Information (Total tunnels=1 sessions=1)
SessID TunID Intf     State         Last Chg
7595       1 outside  SESSION_UP    3279101 secs


上記のようになっていればOKです。これでASA自身はインターネットに接続されたということになります。後はinsideネットワークから実際の端末がインターネットに接続できる必要がありますが、プライベートIPなのでグローバル変換するPAT設定が必要 となります。


■PAT設定

(config)# nat (inside) 1 192.168.0.0 255.255.255.0
(config)# global (outside) 1 interface


nat (inside)で変換元となる対象アドレスを指定しています。上記では直うちで指定していますが、access-listを用いることも可能です。

(config)# access-list PAT extended permit ip 192.168.0.0 255.255.255.0 any
(config)# access-list PAT extended permit ip 192.168.1.0 255.255.255.0 any
(config)# access-list PAT extended permit ip 192.168.2.0 255.255.255.0 any

(config)# nat (inside) 1 access-list PAT
(config)# global (outside) 1 interface

global (outside)で変換先となるアドレスを指定しています。interfaceと指定しているのはoutsideのinterfaceに設定されたアドレスに変換するという意味です。PAT変換の実際は以下のコマンドで確認可能です。

# show xlate
XX in use, YYY most used
PAT Global xx.yy.xx.yy(XXXXX) Local 192.168.0.1 (YYYYY)


後は回線がフレッツであればMTU / MSSの値を微調整する必要がありますが、そのコマンドは下記です。下記では一例で値を設定していますが、実際にはその回線にあった値を設定することになります。この辺は回線業者に聞けば教えてくれるかと。

(config)# outside mtu 1446
(config)# sysopt connection tcpmss 1406


ちなみにシスコルータでも同様にPPPoEおよびPAT設定を行うことは可能ですがASAのほうが奨励されます。何百何千とユーザ数がいても安定して動く、なおかつパフォーマンスもルータよりもかなり良いためです。このあたりがルータと比較したときのASAの強みになりますね。


< OS8.3以降の設定 >


ASAのOS Ver8.3からNAT/PATに関する設定の記述方法が大幅に変わりました。詳細な説明は割愛しますが、上の例で記載したコンフィグはOS8.3以降では次のようになります。

(config)# nat (inside) 1 192.168.0.0 255.255.255.0
(config)# global (outside) 1 interface

            ↓

(config)# object network INSIDE
(config-network-object)# subnet 192.168.0.0 255.255.255.0
(config-network-object)# nat (inside,outside) dynamic interface


アクセスリストを用いた場合は次のようになります。

(config)# access-list PAT extended permit ip 192.168.0.0 255.255.255.0 any
(config)# access-list PAT extended permit ip 192.168.1.0 255.255.255.0 any
(config)# access-list PAT extended permit ip 192.168.2.0 255.255.255.0 any

(config)# nat (inside) 1 access-list PAT
(config)# global (outside) 1 interface

            ↓

(config)# object network PAT1
(config-network-object)# subnet 192.168.0.0 255.255.255.0
(config)# object network PAT2
(config-network-object)# subnet 192.168.1.0 255.255.255.0
(config)# object network PAT3
(config-network-object)# subnet 192.168.2.0 255.255.255.0

(config)# object-group network PAT
(config-network-object)# network-object object PAT1
(config-network-object)# network-object object PAT2
(config-network-object)# network-object object PAT3

(config)# nat (inside,outside) source dynamic PAT interface

■DMZ(NAT)設定


DMZはプライベートIPアドレスを使用しており外部に公開するにはISPから割り当てられているグローバルIP にNAT変換する必要があります上記のPAT設定は複数のプライベートIPを同一のグローバルIPに変換するPAT設定ですが、DMZの場合は1対1で変換するNAT設定となります。

(config)# static (dmz,outside) xx.yy.xx.10 192.168.253.10 netmask 255.255.255.255

上記ではプライベートIP 192.168.253.10をグローバルIP xx.yy.xx.10に変換しており、これを必要数分、記載していきます。外部からアクセス可能にするにはoutsideからdmzにアクセスということなのでセキュリティレベルの低いほうから高いほうへのアクセスとなり最低一つのpermitを含んだセキュリティルールが必要となります。dmzからinsideへのアクセスも同様です。これはASDMから行ったほうが楽なのでここでは割愛します。


ASAではデフォルトでNAT Controlが無効となっているといえど、insideからoutsideへのPAT設定を行っているためinsideからdmzへのアクセスはNATルールが必要となります。

(config)# static (inside,dmz) 192.168.0.0 192.168.0.0 netmask 255.255.255.0


NAT設定といえど上記は192.168.0.0/24を192.168.0.0/24に変換しているということ になり、意味があまりないように思えますがこれがないとinsideからdmzには通信ができませんので注意してください。

< OS8.3以降の設定 >

これらのStatic NATの設定はOS8.3以降では次のようになります。

(config)# static (dmz,outside) xx.yy.xx.10 192.168.253.10 netmask 255.255.255.255

            ↓

(config)# object network DMZ_Host1
(config-network-object)# host 192.168.253.10
(config)# object network DMZ_Host1
(config-network-object)# nat (dmz,outside) static xx.yy.xx.10


変換設定に関しては上記の通りですが注意すべき点があります。以前のバージョンではACLを書く際にNAT変換しているホストについては変換後のアドレスをACLに記載しておりましたが8.3 以降ではACLにホストの実アドレス(変換前アドレス)を指定する必要があります。


下記がinsideからdmzへの nat設定になります。

(config)# static (inside,dmz) 192.168.0.0 192.168.0.0 netmask 255.255.255.0

            ↓

(config)# object network PAT
(config-network-object)# subnet 192.168.0.0 255.255.255.0

(config)# nat (inside,dmz) source static PAT PAT


ちなみにですが、一見意味のないように見える上記のNAT変換設定は以下と同義( NAT変換しない ) になります。これを変換する際も8.3以降では同一のコンフィグとなります

(config)# access-list NONAT extended permit ip 192.168.0.0 255.255.255.0 \
          192.168.253.0 255.255.255.0
(config)# nat (inside) 0 access-list NONAT

参考URL : http://www.cisco.com/en/US/docs/security/asa/asa83/upgrading/migrating.html

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする