リモートアクセスサーバ:SSTP
PPPACによるSSTPリモートアクセスサーバを提供する設定例。
始める前に
- グローバルIPv4アドレスを1個、固定で割り当てられるPPPoE型のインターネット接続サービスを契約しているものとします。ここではアクセス回線にNTT フレッツ・光ネクスト、ISPにIIJ FiberAccess/F サービス(1/256C)を使用するものとします。
- SSTPを使用するにはサーバ証明書(PEM形式のX.509 証明書)を用意する必要があります。
- 適合ファームウェア
- SEIL/X4, SEIL/x86 Ayame, SEIL CA10:ver.2.30以降
このタスクについて
- インターネットアクセスルータ(IPv4 PPPoE)とリモートアクセスサーバを兼ねる設定例です。リモートアクセスクライアントはVPN接続時に本装置を経由してインターネットへもアクセス可能です。
構成イメージ
サンプルコンフィグ
hostname : ${hostname}
interface.pppoe0.id : ${pppoe0_id}
interface.pppoe0.password : ${pppoe0_password}
interface.ge1.ipv4.address : ${lan_address}${lan_prefixlen}
interface.pppac0.authentication.1.user.1.name : ${user1_name}
interface.pppac0.authentication.1.user.1.password : ${user1_password}
interface.pppac0.authentication.1.user.2.name : ${user2_name}
interface.pppac0.authentication.1.user.2.password : ${user2_password}
interface.pppac0.ipv4.address : ${pppac0_address}
interface.pppac0.ipcp.pool.99.address : ${pppac_pool_address}
interface.pppac0.ipcp.pool.99.count : ${pppac_pool_count}
interface.pppac0.ipcp.pool.99.type : dynamic
interface.pppac0.ipcp.dns-server.0.ipv4.address : ${pppac0_address}
interface.pppac0.sstp.service : enable
interface.pppac0.sstp.authentication.0.method : mschapv2
interface.pppac0.sstp.certificate : ${pppac0_certificate}
interface.pppac0.sstp.private-key : ${pppac0_private-key}
interface.pppac0.l2tp.ipsec.requirement : optional
route.ipv4.0.destination : default
route.ipv4.0.gateway : pppoe0
nat.ipv4.napt.0.private : ${napt_private}
nat.ipv4.napt.0.interface : pppoe0
dns-forwarder.service : enable
dns-forwarder.0.address : ipcp
dns-forwarder.listen.ipv4.0.interface : ge1
dns-forwarder.listen.ipv4.1.interface : pppac0
dhcp.server.service : enable
dhcp.server.0.interface : ge1
dhcp.server.0.pool.address : ${pool_address}${lan_prefixlen}
dhcp.server.0.pool.count : ${pool_count}
dhcp.server.0.dns.0.address : ${lan_address}
ntp.service : enable
ntp.client.0.address : ${ntp_address}
resolver.service : enable
resolver.0.address : ipcp
filter.ipv4.0.action : pass
filter.ipv4.0.interface : any
filter.ipv4.0.direction : in
filter.ipv4.0.source.address : 202.221.49.0/24
filter.ipv4.0.destination.address : self
filter.ipv4.0.logging : off
filter.ipv4.2.action : pass
filter.ipv4.2.interface : any
filter.ipv4.2.direction : in
filter.ipv4.2.source.address : 202.221.50.0/23
filter.ipv4.2.destination.address : self
filter.ipv4.2.logging : off
route.ipv4.10001.destination : 202.221.49.0/24
route.ipv4.10001.gateway : pppoe0
route.ipv4.10001.distance : 1
route.ipv4.10002.destination : 202.221.49.0/24
route.ipv4.10002.gateway : discard
route.ipv4.10002.distance : 100
route.ipv4.10003.destination : 202.221.50.0/23
route.ipv4.10003.gateway : pppoe0
route.ipv4.10003.distance : 1
route.ipv4.10004.destination : 202.221.50.0/23
route.ipv4.10004.gateway : discard
route.ipv4.10004.distance : 100
用意するパラメータ
項目 | 設定箇所 | サンプル拠点 | 備考 |
---|---|---|---|
ホスト名 | ${hostname} | SA01 | |
リモートアクセスユーザ1のユーザ名 | ${user1_name} | user01 | |
リモートアクセスユーザ1のパスワード | ${user1_password} | user01password | |
リモートアクセスユーザ2のユーザ名 | ${user2_name} | user02 | |
リモートアクセスユーザ2のパスワード | ${user2_password} | user02password | |
トンネル終端アドレス | ${pppac0_address} | 192.168.2.1 | |
リモートアクセスクライアント用アドレスプールの先頭 | ${pppac_pool_address} | 192.168.2.10 | |
リモートアクセスクライアント用アドレスプールの個数 | ${pppac_pool_count} | 200 | 192.168.2.10-192.168.2.210の範囲 |
サーバ証明書 | ${pppac_certificate} | "(証明書の文字列)" | |
サーバ証明書の秘密鍵 | ${pppac_private-key} | "(秘密鍵の文字列)" | |
PPPoE接続サービスから指定されたID | ${pppoe0_id} | s1user@s1.example.jp | 置換必須 |
PPPoE接続サービスから指定されたパスワード | ${pppoe0_password} | s1passowrd | 置換必須 |
SAのLAN側アドレス | ${lan_address} | 192.168.1.1 | |
LANのサブネットマスク | ${lan_prefixlen} | /24 | |
NAPT適用範囲 | ${napt_private} | 192.168.1.0-192.168.2.255 | |
DHCPのアドレスプールの先頭 | ${pool_address} | 192.168.1.2 | |
DHCPのアドレスプールの個数 | ${pool_count} | 253 | 192.168.1.2-192.168.1.254の範囲 |
NTPサーバアドレス | ${ntp_address} | 192.0.2.123 | 置換必須/無指定時はNTPが動作しない |
- サンプルCSV(SACMテンプレートセット向け)
- 【ダウンロード】
テンプレート用サンプルCSV
[name],[sa_label],hostname,user1_name,user1_password,user2_name,user2_password,pppac0_address,pppac_pool_address,pppac_pool_count,pppac_certificate,pppac_private-key,pppoe0_id,pppoe0_password,lan_address,lan_prefixlen,napt_private,pool_address,pool_count,ntp_address
[default],,,,,,,,,,,,,,,,,,,
<sa-Code>,サンプル拠点,SA01,user01,user01password,user02,user02password,192.168.2.1,192.168.2.10,200,"(証明書の文字列)","(秘密鍵の文字列)",s1user@s1.example.jp,s1passowrd,192.168.1.1,/24,192.168.1.0-192.168.2.255,192.168.1.2,253,192.0.2.123
注:
<SA-Code>
を実在するSAコードに書き換える必要があります。
警告:
- CSV操作に関する注意
- インポート操作は取り消せません。
コンフィグの説明
- リモートアクセスのユーザ名とパスワード (interface.pppac0.authentication...)
- リモートアクセスユーザがクライアント端末に設定するユーザ名とパスワードを指定します。
- リモートアクセス用アドレスプール (interface.pppac0.ipcp.pool)
- リモートアクセスクライアントに割り当てるIPアドレスの範囲を設定します。
- PPPACインタフェースのIPアドレス (interface.pppac0.ipv4.address)
- VPNトンネルのトンネル終端アドレスを指定します。一般的に他のネットワークと重複しないプライベートアドレスを使用します。
- SSTPサービス (interface.pppac0.sstp...)
- SSTPのPPP認証にMS-CHAPv2を使用します。
- L2TP/IPsecサービス (interface.pppac0.l2tp.ipsec.requirement : optional)
- PPPAC機能のコンフィグは、書式上デフォルトでIPsec事前共有鍵の設定が必須とされています。
- PPPoE (interface.pppoe0...)
- IDとパスワードを設定するのみで接続可能です。設定が反映され次第接続を開始し、接続状態を維持します。
- 静的経路 (route.ipv4...)
- デフォルト経路を設定し、ゲートウェイにPPPoEインタフェースを指定します。
- LANインタフェース (interface.ge1...)
- LANのプライベートアドレスを設定します。
- NAPT (nat.ipv4.napt...)
- 指定範囲に一致するプライベートアドレスを送信元とするパケットをPPPoEインタフェースから送信するときNAPTが適用されます。
- DNS中継 (dns-forwarder...)
- LAN内のホストからDNSクエリを受信し中継することができます。キャッシュ機能は持ちません。
- DHCPサーバ (dhcp.server...)
- LAN内のホストがアドレス設定を自動構成するための情報を提供します。
- NTPクライアント (ntp...)
- システムの時刻合わせによりログ等の確認がしやすくなります。
- リゾルバ (resolver)
- SA自身が名前解決に使用します。
- IPフィルタ (filter.ipv4...)
- サンプルではSMFv2サービスの通信要件に当たるネットワークを明示的にパスしていますが、これを含む範囲をブロックするフィルタを設定しない場合は省略できます。