とりあえずブログ作ってみた、的なブログ

このブログの99.99%は「与太話」でできています。

Fortigateを設定してみた(その2・サーバを公開する)

【前回のあらすじ】
マンホールを抜けると、そこは異世界だった-
・・・というファンタジーではありません。

こほん。
前回の設定で、Fortigateを通してインターネットに接続できるようになったが、差し迫った問題として、我が家のメールサーバを外部に公開する、という作業が残っている。

要は、通常のブロードバンドルータでいうところの「バーチャルサーバ」とか「ポートフォワード」とか呼ばれている機能をFortigateで実現するというもの。Fortigateでは「バーチャルIP」という設定(オブジェクト)を使ってポートフォワードを行えることは分かっていたが、購入前にこの設定を使った「バーチャルサーバ」的な運用に関して調べてみた限り、どの情報も接続元が固定アドレスで、今回みたいな不特定なアドレスからのアクセスに対する設定方法が不明だったのは、実は購入にあたっての唯一の不安材料だったのだが、「多分これでいけるだろう」という当たりは付いていたので、それにもとづいて設定を行っていく。

まず、ポートフォワード自体の設定から。
ファイアウォールオブジェクト」-「バーチャルIP」-「バーチャルIP」とメニューを辿っていくと、下図の画面が表示されるので、「新規作成」を押す。
イメージ 1

バーチャルIPの設定画面が表示されるので、必要な項目を設定していく。
イメージ 2

・バーチャルIPアドレス

 これはファイアウォールポリシーを設定する際などに表示される名前になる。
 なので、分かりやすい名前を付けておいた方がいい。
 今回はSMTPに関するポートフォワードを行うということで、「PortForward_SMTP」とした。
・外部インタフェース
 読んで字のごとく、外部からのアクセスを受け付けるインタフェース。
 インターネットからのアクセスを受け付けるので、「WAN1」を指定する。
・外部IPアドレス/レンジ
 外部(送信元)のIPアドレスを指定する。
 冒頭で記載したように、ここに何を入れるかが不明だったので、とりあえず「0.0.0.0」を入れてみる。
・マップ先IPアドレス/レンジ
 内部(転送先)のIPアドレスを指定する。
・ポートフォワーディング
 今回はポートフォワードを行うので、ここにチェックを入れる。
プロトコル
 今回はメールサーバへのメール配送(SMTP)を使うので、「TCP」を選択。
 ちなみに「SCTP」というのは、ストリーム配送用のプロトコルらしい。
・サービスポート
 こちらはインターネット側で受け付けるポート番号(範囲)を指定する。
 今回はSMTPなので「25」を入力する。
マッピングするポート
 こちらは転送先のポート番号を指定する。
 内部のメールサーバも25/TCPSMTPの待ち受けをしているので、「25」を入力する。

これでバーチャルIPの設定はひとまず終わり。最後に「OK」ボタンを押して設定を保存することを忘れずに。

次に、ファイアウォールポリシーを設定する。
前回は説明を端折ったが、Fortigateはファイアウォールなので、ファイアウォールポリシー(通信の許可/拒否のルール)を設定しなければ、通信を行うことができない。ちなみに前回は、PPPoEを設定した後で、「内部(「Internal1」)から外部(「WAN1」)へのすべての通信を許可する」、というポリシーを設定している。

ということで、設定を。
「ポリシー」-「ポリシー」-「ポリシー」の順にメニューを辿っていくと、ポリシーの一覧が表示される。
ここで、「新規作成」-「ポリシー」を選択する。
イメージ 3

ポリシーの設定画面はこんな感じ。
イメージ 4

・送信元インタフェース/ゾーン
 今回はインターネットからのアクセスを受け付けるので、「WAN1」を選択する。
・送信元アドレス
 送信元は不特定なので、「all」を選択する。
・宛先インタフェース/ゾーン
 宛先は内部ネットワークなので「Internal1」を選択する。
・宛先アドレス
 ここがポートフォワードの肝になる部分。
 先程作成した「PortForward_SMTP」を選択する。
 これによって、外部の25/TCP宛ての通信が、内部の「192.168.1.1」の25/TCP宛てにフォワードされる。
・スケジュール
 特に必要がなければ「always」で問題ない。
 時間指定でこの接続を許可したい場合は、適宜スケジュールを作成する。
・サービス
 許可したいサービス(ポート)を指定する。
 今回はSMTPなので「SMTP」を選択する。
・アクション
 通信を許可するので「ACCEPT」を選択する。

必要な設定はこれだけ。あとは必要に応じて「許可トラフィックログ」にチェックを入れると、このポリシーに該当する通信のログをすべて取得することができる。ログサイズがかなり大きくなりそうなので今回は設定しない。
設定が終わったので、「OK」ボタンを押して設定を保存する。

これで、「外部から内部に対するSMTP通信を許可する」設定ができた(はず)ので、「Yahoo!メール」から内部のメールアドレス宛にメールを送信してみる。メールは問題なく配信されている。拍子抜けするほどあっさりと成功した。

とりあえずこれで、通常使用に困らない最低限の設定ができたことになる。
次はVPNの設定だ!

つづく。


【おまけ】
ここまでで最低限のインターネット接続は確保できた訳だが、やはりVPNWOL、あと無線LANは早々に使えるようにしておきたい、ということで既存のブロードバンドルータを有効活用することにした。

接続はこんな感じ。
イメージ 5
Fortigateの「Internal2」ポートに「Internal1」とは別のアドレス体系のIPアドレスを振り、ブロードバンドルータの「Internet」側のポートも同じアドレス体系のIPアドレスを振ってそれぞれを接続。LAN側はIPアドレスの4オクテット目がFortigateの「Internal1」と被るので、その部分を変更して自宅内LANに接続する。

そしてFortigateの「WAN1」から「Internal2」に対して、PPTP(1723/TCP)の通信を許可するためのバーチャルIPの作成とファイアウォールポリシーを作成。これでインターネットからPPTP経由で自宅内LANへの接続が可能になった。

これで当面の利用には問題がない状態となった。

余談だが、ブロードバンドルータの「Internet」側のポートはインターネット回線(光とかADSL)にしか接続できないと思っている人も少なくないかもしれないが、設定を変えてやればこんな感じでローカルルータとして使うこともできるのだ。参考までに。