これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ハポリシーです。
プログラム:
NAME
hapolicy - ポリシー委任高可用性スクリプト
SYNOPSIS
ハポリシー [オプション] --service=SERVICE1 [--service=SERVICE2 ...]
サービス:
-s、--サービス= : [: : : 】
オプション:
-d、--デフォルト戻り値利用可能なサービスがなかった場合 (デフォルト: 'dunno')
-l、--logging ログリクエスト
-v、--verbose ログの詳細度を高めます
-L、--stdout ログを stdout に出力します。デバッグ用です。postfix と一緒に使用しないでください。
DESCRIPTION
はじめに
ハポリシー 高可用性、加重ロードバランシング、およびフォールバック アクションを可能にします。
postfix ポリシー委任サービス。 postfix spawn 経由で呼び出されると、ラッパーとして機能します。
TCP 接続経由で他のポリシー サーバーにクエリを実行します。 サービスクエリの順序は次のとおりです。
各サービスに特定の優先順位と重みを割り当てることによって影響を受けます。 サービスというのは、
接続が拒否された場合、または指定されたサービス タイムアウトが経過した場合、「失敗」とみなされます。
に達しました。 構成されたすべてのポリシー サービスが失敗した場合は、 ハポリシー デフォルトを返します
アクション (例: duno) を後置に追加します。
バージョン1.00で ハポリシー 標準 Perl のみを使用した Perl コードが 200 行未満です
モジュール。 ディスクへのアクセスや構成ファイルは必要なく、次の環境で実行されます。
特権のないユーザーアカウント。 これにより、高速で信頼性の高い操作が可能になります。
CONFIGURATION
サービスには次の属性があります
"サービス名" => {
ip => '127.0.0.1', # IPアドレス
ポート => '10040', # tcp ポート
prio => '10'、# オプション、より低い値が勝ち
weight => '1'、# オプション、同じ優先順位 (重み付けラウンドロビン) を持つアイテムの場合、高いほど良い
timeout => '30'、# オプション、秒単位のクエリタイムアウト
},
コマンドラインで複数のサービスを定義できます。 つまり、
hapolicy -s "grey1=10.0.0.1:10031:10" -s "grey2=10.0.0.2:10031:20"
常に最初のサービスを試します grey1 IP 10.0.0.1 ポート 10031 で、そのサービスがそうでない場合
利用可能な場合、またはデフォルトの 30 秒以内に次のサービスに応答しない場合 grey2 先端
10.0.0.2 ポート 10031 がクエリされます。
接続の負荷を分散したい場合は、次のように定義できます。
hapolicy -s "polw1=10.0.0.1:12525:10:2" -s "polw2=10.0.0.2:12525:10:1"
サービスをクエリするもの ポール1 IP 10.0.0.1 ではサービスの XNUMX 倍 ポール2 IP 10.0.0.2 で。
この設定により、両方のサービスの高可用性も保証されることに注意してください。 もしも ポール1 ではありません
応答可能か、デフォルトの 30 秒以内に応答しません ポール2 質問されるだろうし、
逆に。 サービスを XNUMX 回定義する必要はありません。
統合
postfix master.cf (通常は次の場所にあります) の最後に次のように入力します。
/ etc / postfix):
# サービスの説明、XNUMX 行目の先頭の空白に注意してください
127.0.0.1:10060 inet nnn - 0 スポーン
user=nobody argv=/usr/local/bin/hapolicy -l -s GREY1=10.0.0.1:10031:10 -s GREY2=10.0.0.2:10031:10
ファイルを保存し、postfix main.cf を開きます。 次のように変更します。
127.0.0.1:10060_time_limit = 3600
smtpd_recipient_restrictions =
permit_mynetworks、
...その他の認証された許可...
react_unauth_destination、
...その他の制限 ...
check_policy_service inet:127.0.0.1:10060 # <- hapolicy クエリ
次に、コマンドラインで「postfix reload」を実行します。 もちろんさらに強化することもできます
後置制限クラスを使用したセットアップ。 その他のオプションについては、「リンク」を参照してください。
LINKS
[1] Postfix SMTP アクセス ポリシーの委任
<http://www.postfix.org/SMTPD_POLICY_README.html>
[2] クライアント/ユーザーなどごとの接尾辞。 アクセス制御
<http://www.postfix.org/RESTRICTION_CLASS_README.html>
onworks.net サービスを使用してオンラインで hapolicy を使用する