Synologyの「ProxyServer」コマンドラインでの設定方法

投稿 2022年6月12日

更新 2022年6月12日

専門用語の数:

Synologyの「ProxyServer」コマンドラインでの設定方法

~ 目次 ~

やりたいこと

確認バージョン

設定ファイル構成

設定適用

まとめ

やりたいこと

プロキシのキャッシングにより、高速化を図りたい

セキュリティ的に危険そうなドメインを、アクセス拒否したい

自動化のためシェル(CUI)から設定したい

確認バージョン

これからの説明等は以下のバージョンでの説明です。


バージョンによって変わることがあるのでご了承ください。

製品型番 DS218play
Synology 7.1-42661_update1
Proxy Server 5.2.0-1103

設定ファイル構成

cache_setting_syno.conf

DSMでいう「キャッシュ」タブにあたる設定です。

/volume1/@appstore/ProxyServer/squid/etc/cache_setting_syno.conf

設定構成としては、シンプルに空白区切りで設定されています。

シンプルなので、DSMと見比べれば簡単にわかるかと思います。

DSM設定項目名 設定ファイル項目名
位置 cache_dir
ディスクキャッシュの最小ファイルサイズ minimum_object_size
ディスクキャッシュの最大ファイルサイズ maximum_object_size
キャッシュスワップの下限 cache_swap_low
キャッシュスワップの上限 cache_swap_high
キャッシュメモリのサイズ cache_mem
メモリキャッシュの最大ファイルサイズ maximum_object_size_in_memory

access_syno.conf

DSMでいう「アクセス」タブにあたる設定です。

その中でもアクセスを許可するか拒否するかの設定です。

/volume1/@appstore/ProxyServer/squid/etc/access_syno.conf

アクセス制御の設定になる部分は、複数設定ファイルをいじります。

その中ではシンプルな設定ファイルの一つです。

構成的には以下の通りになっています。

http_access [操作] syno_[連番]

[操作]は許可(allow)か拒否(deny)が入ります。

[連番]は登録順の連番が1から順に入ります。

最終的には以下のような設定になります。

http_access allow syno_1 http_access allow syno_2 http_access allow syno_3 http_access allow syno_4 http_access allow syno_5 http_access deny syno_6 http_access deny syno_7 http_access deny syno_8 http_access deny syno_9

acl_syno.conf

引き続きDSMでいう「アクセス」タブにあたる設定です。

その中でも「タイプ」と「IPまたはホスト名」の設定です。

/volume1/@appstore/ProxyServer/squid/etc/acl_syno.conf

構成的には以下の通りになっています。

acl syno_[連番] [タイプ] [IPまたはホスト名]

[連番]はaccess_syno.confで設定した番号が入ります。

[IPまたはホスト名]は、入力した通りに入ります。

※ホスト名は最初に「.」(ドット)が自動で入ります。

[タイプ]は以下のルールで入ります。

ソースIP src
ソースのホスト名 srcdomain
ディスティネーションIP dst
ディスティネーションのホスト名 dstdomain

最終的には以下のような設定になります。

acl syno_1 src 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 fc00::/7 fe80::/10 acl syno_2 src 192.168.1.1 acl syno_3 srcdomain .allow1 acl syno_4 dst 192.168.1.2 acl syno_5 dstdomain .arrow2 acl syno_6 src 192.168.1.3 acl syno_7 srcdomain .deny1 acl syno_8 dst 192.168.1.4 acl syno_9 dstdomain .deny2

setting_syno.json

引き続きDSMでいう「アクセス」タブにあたる設定です。

そして一緒に残りの他の設定がまとまっています。

/volume1/@appstore/ProxyServer/squid/etc/setting_syno.json

設定の数が多いのでややこしいですが、jsonなのでわかりやすいかと思います。

アクセスに関しては、上記設定とDSMを見ればなんとなくわかるかと思います。

それ以外は以下の通りです。

DSM設定項目名 設定ファイル項目名
認証 authentication
キャッシュ cache
設定/設定 general
設定/ログ log
不明(プロキシの有効化?) transparent
プロキシの導入 wpad

transparentがDSMにもない設定で、何なのかは不明です・・・。

最終的には以下のような設定になります。

{   "access" :   {     "rules" :     [       {         "access_argument" :         [           "10.0.0.0/8",           "172.16.0.0/12",           "192.168.0.0/16",           "fc00::/7",           "fe80::/10"         ],         "access_type" : "src",         "permission_type" : "allow"       },       {         "access_argument" : [ "192.168.1.1" ],         "access_type" : "src",         "permission_type" : "allow"       },       {         "access_argument" : [ ".allow1" ],         "access_type" : "srcdomain",         "permission_type" : "allow"       },       {         "access_argument" : [ "192.168.1.2" ],         "access_type" : "dst",         "permission_type" : "allow"       },       {         "access_argument" : [ ".arrow2" ],         "access_type" : "dstdomain",         "permission_type" : "allow"       },       {         "access_argument" : [ "192.168.1.3" ],         "access_type" : "src",         "permission_type" : "deny"       },       {         "access_argument" : [ ".deny1" ],         "access_type" : "srcdomain",         "permission_type" : "deny"       },       {         "access_argument" : [ "192.168.1.4" ],         "access_type" : "dst",         "permission_type" : "deny"       },       {         "access_argument" : [ ".deny2" ],         "access_type" : "dstdomain",         "permission_type" : "deny"       }     ]   },   "authentication" :   {     "auth_enable" : false,     "auth_word" : "Hello!"   },   "cache" :   {     "cache_dir_path" : "/volume1/@squid",     "cache_dir_size" : "10240",     "cache_enable" : true,     "cache_mem" : "64",     "cache_swap_high" : "95",     "cache_swap_low" : "90",     "maximum_object_size" : "2000000",     "maximum_object_size_in_memory" : "8",     "minimum_object_size" : "0"   },   "general" :   {     "cache_mgr" : "webmaster@mydomain.com",     "http_port" : 3128   },   "log" :   {     "log_enable" : false,     "log_transfer_enable" : false,     "log_transfer_host" : "localhost",     "log_transfer_port" : 514,     "log_transfer_protocol" : "tcp"   },   "transparent" :   {     "transparent_proxy_enable" : false   },   "wpad" :   {     "wpad_enable" : false,     "wpad_interface" : ""   } }

設定適用

設定ファイルを直接変更した場合、再起動すると適用されます。

synopkg restart ProxyServer

まとめ

SynologyのProxyServerのコマンドラインでの設定方法をまとめてみました。

ProxyServerを使いこなしたい人等に参考なればと思います。


以上、ここまで見ていただきありがとうございます。

皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。

コメント一覧

コメントがまだありません

コメントを投稿してみる

コメント(必須※500文字以内)

お名前(必須※30文字以内)

※日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)