構成図
VPNクライアントのPCからSSL-VPNを介したインターネット経由でサーバへアクセスを試みます。SSL-VPNゲートウェイ役はFortigate100Eが担当します。
Serverのネットワーク設定
トンネリング先のサーバにはクライアントへ帰るルーティングは不要です。トンネル自体が仮想的な経路を提供するため、サーバは同じトンネル経路を通ってクライアントに応答を返すためです
eth0
IP | 192.168.9.1 |
DGW | – |
wlan0
IP | 192.168.10.109 |
DGW | 192.168.10.1 |
VPN Clientのネットワーク設定
サーバとクライアントでそれぞれ異なるプロバイダ経由でアクセスを試みます。同じプロバイダルータから割り振られるセグメント内でもトンネリング自体は成り立ちます。SSL-VPNトンネリングがL4以上で機能するため、L3レベルで疎通可能であれば、トンネルエンドポイント間で暗号化・カプセル化されるためです
SSL-VPN設定の流れ
- ユーザ作成
- ユーザグループ作成
- address作成
- IPPool作成
- SSl-VPN設定
- SSL-VPN用FirewallPolicy設定
- FortiClient_リモートアクセス設定
- Mac設定_VPN許可
- プロバイダのルータでポートフォワード設定
- 疎通テスト
1_ユーザ作成
設定 | パラメータ |
Username | user1 |
Password | XXXXXX |
↓
↓
↓
↓
2_ユーザグループ作成後は以下になります
CLIの場合
FG100E # show user local
config user local
edit "guest"
略
next
edit "user1"
set type password
set passwd-time 2025-07-04 22:25:10
set passwd ENC 略
next
end
2_ユーザグループ作成
設定 | パラメータ |
Name | SSLVPN_Group |
Type | Firewall |
Members | user1 |
↓
↓
CLIの場合
FG100E # show user group
config user group
edit "SSO_Guest_Users"
next
edit "Guest-group"
set member "guest"
next
edit "SSLVPN_Group"
set member "user1"
next
end
3_address作成
SSL-VPN接続先のネットワークを定義します。
設定 | パラメータ |
Name | Syanai-LAN |
Type | Subnet |
IP/Netmask | 192.168.9.0/24 |
Interface | any |
↓
5_SSL-VPN設定を実行した後は以下になります
CLIの場合
FG100E # show firewall address
config firewall address
略
edit "SSLVPN_TUNNEL_ADDR1"
set uuid aaaaaa-bbbb-cccc-dddd-eeeeee
set type iprange
set start-ip 10.212.134.200
set end-ip 10.212.134.210
next
edit "Syanai-LAN"
set uuid aaaaaa-bbbb-cccc-dddd-eeeeee
set subnet 192.168.9.0 255.255.255.0
next
略
end
4_IPPool設定
クライアントの送信元IPがNAT変換で使用するためのIPPoolを定義します
設定 | パラメータ |
Name | Syanai-pool |
External IP Range | 192.168.9.100 – 192.168.9.200 |
Type | Overload ※「多」対「1(多ポート)」の変換 |
Interface | any |
CLIの場合
FG100E (ippool) # show
config firewall ippool
edit "Syanai-pool"
set startip 192.168.9.100
set endip 192.168.9.200
next
end
5_SSL-VPN設定
設定 | パラメータ |
Enable SSL-VPN | ON |
Listen on Interface(s) | wan2 |
Listen on Port | 4433 |
Server Certificate | Fortinet_Factory |
Tunnel Mode Client Settings / Address Range | 10.212.134.200 – 10.212.134.210 |
Authentication/Portal Mapping / Users/Groups | All Other Users/Groups |
Authentication/Portal Mapping / Portal | tunnel-access |
↓
↓
full-accessまたはtunnel-acessを選びます。権限は以下のとおり
↓
↓
↓
SSL-VPN用のV4ポリシ-の作成が必要です。
次の証明書を適用したら、赤枠の警告をクリックしてポリシーを作成します
↓
Fortigate自前のサーバ証明書を使います。
↓
サーバ証明書を作成することもできるようです。
CLIの場合
FG100E # show vpn ssl settings
config vpn ssl settings
set servercert "Fortinet_Factory"
set tunnel-ip-pools "SSLVPN_TUNNEL_ADDR1"
set tunnel-ipv6-pools "SSLVPN_TUNNEL_IPv6_ADDR1"
set port 4433
set source-interface "wan2"
set source-address "all"
set source-address6 "all"
set default-portal "tunnel-access"
end
6_SSL-VPN用FirewallPolicy設定
クライアントからローカルネットワークへのアクセス許可設定を行います
設定 | パラメータ |
Name | SSLVPN_to_Syanai |
Incoming Interface | SSL-VPN tunnel interface(ssl.root) |
Outgoing Interface | internal |
Source | all,SSLVPN_Group |
Destination | Syanai-LAN |
Action | ACCEPT |
Firewall/Network Options / NAT | ON |
Firewall/Network Options / IP Pool Configuration | Use Dynamic IP Pool,Syanai-pool |
Security Profiles / AntiVirus | ON,default |
Security Profiles / Web Filter | ON,default |
Logging Options / Log Allowed Traffic | ON,All Sessions |
Security Profiles / Web Filter | ON |
↓
↓
↓
全体はこれ
CLIの場合
FG100E (1) # show
config firewall policy
edit 1
set name "SSLVPN_to_Syanai"
set uuid aaaaaa-bbbb-cccc-dddd-eeeeee
set srcintf "ssl.root"
set dstintf "internal"
set action accept
set srcaddr "all"
set dstaddr "Syanai-LAN"
set schedule "always"
set service "ALL"
set utm-status enable
set ssl-ssh-profile "certificate-inspection"
set av-profile "default"
set webfilter-profile "default"
set logtraffic all
set nat enable
set ippool enable
set poolname "Syanai-pool"
set groups "SSLVPN_Group"
next
end
7_FortiClient_リモートアクセス設定
クライアント側はMacOSを使用しているので、SSL-VPNクライアントツールのFortiClientをインストールして設定します。グローバルIPはwhoisなどで確認しておきます
設定 | パラメータ |
Remote Gateway | 5.5.5.5 |
Customize port | 54321 |
↓
Conectを押下すると、次手順の環境設定に進みます
8_Mac設定_VPN許可
MacOS側でFortiClientAgentを使用したVPN許可設定を行います
↓
↓
↓
↓
↓
↓
9_プロバイダのルータでポートフォワード設定
プロバイダルータにアクセスして、ポートフォワード設定を入れます。
グローバルIP:グローバルポートからプライベートIP:プライベートポートへPATするために必要です
10_疎通テスト
FortiClientからSSL-VPN接続します
↓
↓
VPNクライアントにトンネリングIPが割り当てられていることを確認します
VPNクライアントからZabbixサーバへ実際にアクセスすると、Fortigateの転送トラフィックで通信の確認ができます。トンネリングIP(10.212.134.200)がローカルネットワークIP(192.168.9.184)へNATされてアクセスしていることが分かります
↓
以上