会社にMikroTikルーターが1台でもある場合、トラフィックの監視、不適切なサイトのブロック、企業ネットワークの保護のための組み込みツールがすでに存在します。ほとんどのシステム管理者はその機能の半分も利用していません。このガイドでは、追加のサーバーや余分なコストなしで、MikroTik上でプロキシを設定する方法を説明します。
MikroTikのWebプロキシとは何か、ビジネスに必要な理由
MikroTik RouterOSは、ネットワーク機器用の完全なオペレーティングシステムで、組み込みのHTTP/HTTPSプロキシサーバーを含んでいます。これをWebプロキシと呼び、基本的なライセンスから利用可能です。本質的には、ネットワークのユーザーとインターネットの間の中間ノードであり、すべてのトラフィックがここを通過し、ネットワーク内で何が起こっているかを完全に制御できます。
通常のファイアウォールとの違いは何ですか?ファイアウォールはIPアドレスやポートレベルで動作し、リクエストの内容を「理解」しません。プロキシはアプリケーションレベルで動作し、特定のURL、ドメイン、コンテンツタイプを視認します。これにより、根本的に異なる制御レベルが得られます。
MikroTikの組み込みWebプロキシは以下の機能を持っています:
- ウェブコンテンツをキャッシュする - アクティブなブラウジングを行うオフィスでは、インターネットチャンネルの負荷を30〜40%削減します
- 特定のサイト、ドメイン、URLパターンへのアクセスをブロックする
- ユーザーのIPアドレスまたはサブネットによるアクセスを制限する
- すべてのHTTPリクエストをログ記録する - 誰が、どこに、いつアクセスしたか
- 透過モードで動作する - ユーザーはその存在に気づきません
- 外部プロキシサーバー(親プロキシ)にトラフィックをリダイレクトする
制限を理解することが重要です: MikroTikの組み込みWebプロキシは、ネイティブモードでHTTPトラフィックのみを処理します。HTTPSトラフィックは、特定の制限のある透過モードでのみキャッチできるか、親プロキシの設定を通じて処理できます。HTTPSの完全な検査には追加のソリューションが必要です - これは外部プロキシに関するセクションで説明します。
💡 知っておくと便利
MikroTikのWebプロキシはRouterOSバージョン2.9以降で動作します。ファームウェアのバージョンはSystem → RouterBoardメニューまたはターミナルでのコマンド:put [/system routerboard get current-firmware]で確認できます。
使用シナリオ: 誰がこの設定を必要とし、なぜ必要か
技術的な詳細に入る前に、MikroTikのプロキシが解決する具体的なビジネス課題を見てみましょう。これにより、どの設定が必要かを理解するのに役立ちます。
従業員を雇用しているオフィス
最も一般的なシナリオです。タスク: 労働時間中にソーシャルメディアをブロックし、トレントのダウンロードを禁止し、帯域を消費するストリーミングサービスへのアクセスを制限します。MikroTikの透過プロキシは、従業員のコンピュータにエージェントをインストールすることなく、これをすべて解決します。従業員は自分のトラフィックがフィルタリングされていることに気づきません - すべて自動的に機能します。
インターネットカフェ、コワーキングスペース、ホテル
ここでは、プロキシは2つの目的のために必要です: キャッシュ(人気のあるコンテンツがより早く読み込まれ、再度トラフィックを消費しない)と違法コンテンツの基本的なフィルタリングです。キャッシュは、限られたまたは高価なインターネットチャンネルで特に重要です。
マーケティングエージェンシーとデジタルチーム
特定のシナリオ: Facebook Ads、TikTok Ads、Instagramの多数の広告アカウントを扱うチームは、しばしば企業のMikroTikを外部プロキシを介してトラフィックをルーティングするゲートウェイとして使用します。異なる従業員や作業ステーションが異なるIPアドレスを介してインターネットに接続することが重要です - これは同じプラットフォームで複数のアカウントを扱うために重要です。
プロバイダーとISP
小規模プロバイダーは、トラフィックの負荷を減らすためにMikroTikのキャッシュプロキシを使用します。多くの加入者が同じニュースやYouTubeを視聴している場合、キャッシュはトラフィックの大幅な節約を提供します。
| シナリオ | 主なタスク | 必要な機能 |
|---|---|---|
| オフィス | アクセス制御 | URLフィルタリング、ログ |
| カフェ / コワーキング | トラフィックの節約 | キャッシュ、基本的なフィルタリング |
| デジタルエージェンシー | アカウント用の異なるIP | 親プロキシ、ルーティング |
| プロバイダー | チャンネルの負荷を減らす | キャッシュ、統計 |
設定開始前に必要なもの
設定を開始する前に、必要なものがすべて揃っていることを確認してください。このステップを省略すると、設定時の問題の80%の原因となります。
ルーターへのアクセス: MikroTikのWebインターフェース(WinboxまたはWebFig)への管理者権限でのアクセスが必要です。Winboxは推奨されるオプションで、すべての設定に完全にアクセスできます。公式サイトから無料でダウンロードできます。
RouterOSのバージョン: Webプロキシの安定した動作にはRouterOS 6.xまたは7.xが推奨されます。System → Packagesでバージョンを確認してください。バージョンが古い場合は、System → Packages → Check for Updatesから更新してください。
ディスクの空き容量: プロキシのキャッシュはルーターのディスクに保存されます。キャッシュには最低50〜100MBの空き容量が必要です。WinboxのFilesで確認してください。フラッシュメモリが小さいルーター(8MB以下)では、キャッシュを無効にする方が良いです。
ネットワークのスキーム: どのサブネットがあり、どのインターフェースがインターネット(WAN)を見ているか、どのインターフェースが内部ネットワーク(LAN)を見ているかをメモまたは描いてください。この理解がなければ、透過プロキシ用のNATルールを設定することはできません。
⚠️ 重要: 設定のバックアップを作成してください!
変更を加える前にバックアップを作成してください: Files → Backupまたはターミナルでのコマンド/system backup save name=backup-before-proxyを使用します。これは、ファイアウォールのルールに誤りがあった場合にルーターへのアクセスを失うのを防ぎます。
ステップ1: MikroTikでWebプロキシを有効にする
Webプロキシを有効にするのは最も簡単なステップです。すべてはWinboxのグラフィカルインターフェースを通じて数分で行えます。
Winboxを使用して(推奨):
- Winboxを開いてルーターに接続します
- 左のメニューからIP → Web Proxyを選択します
- 開いたウィンドウでEnabledにチェックを入れます
- ポートを設定します - デフォルトは8080で、変更することもできます
- Max Cache Sizeフィールドにキャッシュのサイズを指定します(例: 100MB)または、空き容量があればunlimitedを選択します
- Applyをクリックし、その後OKをクリックします
ターミナルを使用して(コマンドラインを好む方のために):
/ip proxy set enabled=yes port=8080 max-cache-size=100000KiB
有効にした後、プロキシが起動したことを確認してください。ターミナルで次のコマンドを実行します:
/ip proxy print
出力にはenabled: yesと表示されるべきです。enabled: noが表示された場合は、何かがうまくいかなかったので、手順を繰り返してください。
この時点でプロキシは有効になっていますが、まだ自動的にトラフィックをキャッチしていません。ユーザーは手動でブラウザの設定にプロキシを入力する必要があります(ルーターのIP、ポート8080)。ネットワーク全体でこれを自動的に行うには、次のステップで説明する透過モードが必要です。
また、Cache Pathパラメータにも注意してください - これはキャッシュが保存される場所を示します。デフォルトではルーターの内蔵メモリです。USBドライブやメモリーカードがある場合は、キャッシュをそこに移動する方が良いです - これにより容量が増え、内蔵メモリの摩耗が減ります。
ステップ2: ファイアウォールNATを介した透過的プロキシの設定
透過プロキシは、ローカルネットワークからのすべてのHTTPトラフィックが自動的にプロキシサーバーを介してリダイレクトされるモードです。ユーザーはブラウザで何も設定する必要がありません。従業員にとってはすべてが通常通りに機能しますが、実際にはすべてのリクエストがプロキシを通過します。
これはMikroTikのファイアウォールでNATルールを通じて実装されます。このルールは、ポート80(HTTP)へのすべての送信TCPトラフィックをキャッチし、プロキシのポート(8080)にリダイレクトします。
Winboxを使用して:
- IP → Firewall → NATに移動します
- +ボタンをクリックしてルールを追加します
- Generalタブで次の設定を行います:
- Chain: dstnat
- Protocol: tcp
- Dst. Port: 80
- In. Interface: あなたのLANインターフェース(例: ether2またはbridge-local)
- Actionタブで次の設定を行います:
- Action: redirect
- To Ports: 8080
- OKをクリックします
ターミナルを使用して:
/ip firewall nat
add chain=dstnat protocol=tcp dst-port=80 in-interface=ether2 \
action=redirect to-ports=8080
ether2をあなたのLANインターフェースの名前に置き換えてください。複数のLANインターフェースがブリッジに統合されている場合は、ブリッジインターフェースの名前を指定してください。
📌 ルールの順序は重要です!
MikroTikはNATルールを上から下に順番に適用します。透過プロキシ用のルールがマスカレードルール(存在する場合)の前にあることを確認してください。順序はWinboxでドラッグ&ドロップするか、コマンド/ip firewall nat move [find] destination=0で変更できます。
ルールを追加した後、動作を確認してください: ローカルネットワーク内のコンピュータから任意のHTTPサイトを開きます。プロキシが正しく機能している場合、ページが開き、プロキシのログ(IP → Web Proxy → Access)に記録が表示されます。ページが開かない場合は、インターフェースの名前とプロキシのポートを確認してください。
ステップ3: フィルタリングルール - サイトとカテゴリをブロックする
これは、従業員のインターネットアクセスを制御したい人にとって重要なセクションです。MikroTikのWebプロキシは、特定のドメイン、URLパターンをブロックしたり、逆に特定のリソースのみを許可したりする柔軟なルールを作成できます。
アクセスルールはIP → Web Proxy → Accessで設定します。各ルールには条件(何をチェックするか)とアクション(何をするか: allowまたはdeny)が設定されています。
特定のドメインをブロックする(例: vk.com):
/ip proxy access add dst-host=vk.com action=deny comment="VKをブロック" add dst-host=*.vk.com action=deny comment="VKのサブドメインをブロック"
URLマスクによるブロック(例: YouTubeのすべてのページ):
/ip proxy access add dst-host=*.youtube.com action=deny comment="YouTubeをブロック" add dst-host=youtube.com action=deny comment="YouTubeのメインをブロック"
特定のサブネットのみアクセスを許可する(例: IT部門のみがGitHubにアクセスできる):
/ip proxy access add src-address=192.168.1.10/32 dst-host=github.com action=allow add dst-host=github.com action=deny
ファイル拡張子によるブロック(.exe、.torrentのダウンロードを禁止):
/ip proxy access add path=*.exe action=deny comment="EXEダウンロードをブロック" add path=*.torrent action=deny comment="トレントファイルをブロック" add path=*.zip action=deny comment="ZIPダウンロードをブロック"
ルールの順序に注意してください: MikroTikは上から下にルールをチェックし、最初の一致で停止します。特定のIP用のallowルールは、同じドメインのdenyルールの上に配置する必要があります。
Winboxを介してルールを追加するには、IP → Web Proxy → Accessタブ → +ボタンを使用します。インターフェースは直感的で、条件(Source Address、Destination Host、Path、Method)とアクション(Allow/Deny)を選択します。
⚠️ 制限: HTTPSは直接フィルタリングされません
WebプロキシのルールはHTTPトラフィックにのみ適用されます。HTTPSサイトをブロックするには(現在ほとんどがそうです)、IP → Firewall → Layer 7 Protocolsで追加のルールを使用するか、通常のファイアウォールでIPアドレスをブロックします。HTTPSの完全なフィルタリングには、SSL検査を行う外部プロキシなどの別のソリューションが必要です。
ステップ4: チャンネルの節約のためのトラフィックキャッシュ
キャッシュは、MikroTikでプロキシを有効にする主な理由の1つです。原則は簡単です: 20人の従業員が同じニュースページを開く場合、キャッシュなしではルーターがそれを20回ダウンロードします。キャッシュを使用すると、1回だけダウンロードされ、残りの19人はルーターのローカルメモリから瞬時にデータを取得します。
キャッシュの設定はIP → Web Proxyにあります。主なパラメータは次のとおりです:
| パラメータ | 説明 | 推奨 |
|---|---|---|
| max-cache-size | キャッシュの最大サイズ | メモリに応じて50〜500MB |
| max-cache-object-size | キャッシュ内のオブジェクトの最大サイズ | 2048〜4096KB |
| cache-path | キャッシュの保存パス | USBドライブがある場合はそれを使用 |
| max-fresh-time | キャッシュ内のオブジェクトの保存時間 | 3日(259200秒) |
ターミナルを介した設定:
/ip proxy
set max-cache-size=102400KiB \
max-cache-object-size=4096KiB \
max-fresh-time=3d
キャッシュの効果を確認するには、次のコマンドを使用します:
/ip proxy monitor
hitsとmissesの指標に注意してください。良好な指標は、ヒットが全リクエストの20〜40%を占めることです。ヒットがほぼゼロに近い場合は、トラフィックの大部分がHTTPSであるか(キャッシュされません)、キャッシュが小さすぎる可能性があります。
重要な点: 現代のウェブサイトはますますCache-Control: no-storeやno-cacheのヘッダーを使用してキャッシュを禁止しています。したがって、2024年の実際のキャッシュの効果は、5〜10年前よりも低くなっています。それでも、静的リソース(画像、CSS、JSファイル)に対しては、キャッシュは依然として良好に機能します。
ステップ5: MikroTikを介して外部プロキシサーバーに接続する
これは、トラフィックをフィルタリングするだけでなく、企業ネットワークや個々のデバイスがインターネットに出るIPアドレスを完全に制御したい人にとって最も興味深いシナリオです。MikroTikは、すべてのローカルプロキシからのリクエストが上位の外部プロキシサーバーに転送される機能親プロキシをサポートしています。
実際にこれが必要な理由は次のとおりです:
- ネットワーク全体のIP変更 - オフィスのすべてのトラフィックが外部プロキシのIPを介して出て行き、実際のプロバイダーのIPを介して出ることはありません
- 地域制限の回避 - あなたの地域でブロックされているリソースへのアクセス
- 異なるデバイス用の異なるIP - ルーティングを介して異なる作業ステーションが異なる外部プロキシを使用します
- 企業の実際のIPの保護 - 外部サービスはプロキシのIPを見ており、あなたの企業のアドレスは見えません
Winboxを介した親プロキシの設定:
- IP → Web Proxyに移動します
- 親プロキシセクションを見つけます
- 親プロキシアドレスを入力します - 外部プロキシサーバーのIPアドレス
- 親プロキシポートを指定します - プロキシのポート(通常は8080、3128または他のポート)
- Applyをクリックします
ターミナルを使用して:
/ip proxy set parent-proxy=203.0.113.10 parent-proxy-port=8080
203.0.113.10と8080をあなたのプロキシサーバーの実際のデータに置き換えてください。
企業のタスクで安定性と匿名性が重要な場合、親プロキシには住宅プロキシを使用します - これらは実際の家庭ユーザーのIPアドレスを持ち、トラフィックを通常のユーザーのものと区別できなくします。これは、行動や接続タイプを分析するプラットフォームで作業する際に特に重要です。
チームがモバイルトラフィックを模倣する必要がある場合 - たとえば、モバイルデバイスからFacebook AdsやInstagramの広告キャンペーンをテストするためには、モバイルプロキシが親プロキシとして適しています。これらは通信事業者の実際のSIMカードを介して動作し、3G/4G/5GのモバイルネットワークのIPを提供します。
📌 重要: 親プロキシはHTTP専用です
MikroTikの組み込みWebプロキシは、親プロキシを介してHTTPトラフィックのみを転送します。すべてのトラフィック(HTTPSを含む)を外部プロキシにルーティングするには、別のアプローチ - ポリシーベースのルーティングの設定や、ネットワーク内の別のLinuxサーバーでのiptablesルールとの組み合わせを使用する必要があります。
リクエストの監視とログ記録
企業環境でプロキシを使用する主な理由の1つは、ユーザーがインターネットで何をしているかを見ることができることです。MikroTik Webプロキシは、すべてのHTTPリクエストをログ記録することができます: 誰が(IPアドレス)、どこに(URL)、いつ、どのリクエストメソッドを使用したか、そしてレスポンスのステータス。
ログ記録の有効化:
/ip proxy set log-connect=yes
ログを有効にすると、Log(Winboxのメニュー)にログが表示されます。便利な表示のために、web-proxy
ログを長期間保存し、便利に分析するために、外部Syslogサーバーへの送信を設定してください:
/system logging action add name=remote-syslog target=remote remote=192.168.1.100 remote-port=514 /system logging add action=remote-syslog topics=web-proxy
192.168.1.100をあなたのsyslogサーバーのIPに置き換えてください。SyslogサーバーにはGraylog、Splunk、またはLinux上の単純なrsyslogを使用できます。
また、リアルタイムでプロキシの統計を表示するためのコマンドも便利です:
/ip proxy monitor
ここでは、アクティブな接続数、全リクエスト数、キャッシュヒット数、転送データ量が表示されます。これらのデータは、ルーターの負荷とキャッシュの効果を評価するのに役立ちます。
GDPRおよび労働法に関する重要な注意: 従業員のトラフィックをログ記録する場合は、それが雇用契約または企業のセキュリティポリシーに記載されていることを確認してください。従業員に通知せずにインターネット活動を監視することは、いくつかの国では法律違反となります。
一般的なエラーとその修正方法
MikroTikでWebプロキシを設定する際に遭遇する最も一般的な問題とその解決方法をまとめました。
エラー1: 透過プロキシの設定後にインターネットが動作しなくなった
原因: NATルールでLANインターフェースが正しく指定されていないか、ルールの位置が正しくない。
解決策: コマンド/interface printでインターフェースの名前を確認してください。ユーザーが接続されているインターフェースを正しく指定していることを確認してください。ブリッジを使用している場合は、物理ポートではなくブリッジを指定してください。
エラー2: HTTPSサイトがWebプロキシのルールでブロックされない
原因: MikroTikのWebプロキシはHTTPSトラフィックをキャッチしません。IP → Web Proxy → AccessのルールはHTTPにのみ適用されます。
解決策: HTTPSサイトをブロックするには、Layer 7 Protocolsまたはファイアウォールのアドレスリストを使用してください。たとえば、必要なサイトのIPアドレスをリストに追加し、IP → Firewall → Filter Rulesでブロックします。
エラー3: プロキシは動作しているがキャッシュが満たされない
原因: 現代のほとんどのサイトはHTTPSを使用し、キャッシュを禁止するヘッダーを使用しています。キャッシュはHTTPに対してのみ機能します。
解決策: これは現代のウェブにおける正常な動作です。キャッシュは、HTTPサイトからの静的リソース(画像、ファイル)で満たされます。キャッシュが重要な場合は、SSLバンプを使用した専用サーバー上のSquidなどの特化したソリューションを検討してください。
エラー4: プロキシを有効にした後、ルーターが遅くなった
原因: ルーターのプロセッサが多くのユーザーからのプロキシによる負荷に耐えられない。
解決策: コマンド/system resource printでCPUの負荷を確認してください。CPUが常に80%以上の場合は、キャッシュのサイズを減らすか、プロキシを別のサーバー(Ubuntu/Debian上のSquid)に移動してください。この場合、MikroTikは外部プロキシにトラフィックをリダイレクトするゲートウェイとしてのみ使用されます。
エラー5: 親プロキシが機能しない - サイトが実際のIPで開かれる
原因: MikroTikの親プロキシは、実際にWebプロキシを通過するトラフィックにのみ適用されます。HTTPSリクエストやNATルールでキャッチされていないトラフィックは直接送信されます。
解決策: 透過プロキシのルール(ポート8080へのリダイレクト)がアクティブで正しい位置にあることを確認してください。すべてのトラフィックを外部プロキシに完全にリダイレクトするには、ポリシーベースのルーティングを使用したより複雑な設定が必要です。
| 問題 | 迅速な診断 | 解決策 |
|---|---|---|
| インターネットがない | /interface print | LANインターフェースの名前を確認する |
| HTTPSがブロックされない | サイトのプロトコルを確認する | Layer 7またはIPブロックを使用する |
| ルーターが遅い | /system resource print | キャッシュを減らすか、プロキシを移動する |
| 親プロキシが機能しない | NATリダイレクトルールを確認する | トラフィックがプロキシを通過していることを確認する |
結論
MikroTikでのWebプロキシの設定は、追加のサーバーやライセンスなしで企業トラフィックを制御するための実用的なソリューションです。数ステップで、不要なサイトのフィルタリング、チャンネルの節約のためのキャッシュ、ユーザーの活動のログ記録、外部プロキシサーバーを介したトラフィックのルーティングが得られます。
重要なことは、MikroTikの組み込みプロキシはHTTPトラフィックにうまく対応できるが、95%のトラフィックがHTTPSである現代の企業ネットワークを完全に保護するには、その機能が不十分であることを覚えておくことです。このような場合、MikroTikはゲートウェイおよびルーターとして使用され、フィルタリングおよびトラフィック検査の機能は専門のソリューションに委ねられます。
企業ネットワーク全体のトラフィックを信頼できる外部プロキシを介して固定IPまたはアドレスプールでルーティングする必要がある場合は、データセンターのプロキシに注目してください - これらは高速で安定した接続を提供し、オフィス全体の親プロキシとして使用する際に重要です。最大の匿名性が求められるタスクでは、トラフィックが通常のユーザーのものと区別されないようにする必要があります。