仮想/フローIPの設定に問題があります。この特別なケースでは、Pacemaker+Corosyncを使用して2つの仮想IPを管理しています。 1 つは内部、もう 1 つは SIP トランクの外部です。 VOIPアスタリスク/FreePBX。
問題はこれだと思います。SIPトランクは、NICにバインドされたVirtual_IPではなく、NICに直接登録されているIPからの着信パケットを確認します。。
可能ですか?この問題を解決/解決する方法についてのアイデアはありますか?
仮想IPを生成するクラスタ仮想IPコマンド:
pcs resource create www_virtual_ip ocf:heartbeat:IPaddr2 ip=10.1.8.32 cidr_netmask=32 nic=eth0 op monitor interval=30s
pcs resource create sip_virtual_ip ocf:heartbeat:IPaddr2 ip=10.251.0.52 cidr_netmask=32 nic=eth1 op monito
CentOS 7でAsterisk 11 + FreePBX 2.12を使用しています。私はこれが1つのNICに2つのIPを持つアスタリスク11の問題である可能性があることを読みましたが、Asteriskを設定しようとする代わりにPaceMakerレベルで動作したいと思います。
答え1
Pacemaker HA設定でIAX2トランキングと同様の問題がありました。回避策は、NICのプライマリIPアドレスを無効にするのではなく、仮想IPアドレスからすべてのトラフィックを取得することです。この目的を担当するペースメーカーリソースエージェントもあります。これocf:heartbeat:IPsrcaddr
。
たとえば、仮想(セカンダリ)IP 192.168.5.4があります。この IP はノード A と B の間に浮いています。ノードAとBのIPアドレスはそれぞれ192.168.5.2と192.168.5.3です。このネットワークのゲートウェイは192.168.5.1にあります。
すべてのトラフィックが現在nodeAでホストされている仮想IPアドレス192.168.5.4からのものとしてマークされることを望みます。これを行うには、特定のソースアドレスセットを含むデフォルトパスを追加するだけです。
ip route add default via 192.168.5.1 src 192.168.5.4
その後、古いデフォルトパスを削除できます。予備テストを試して、問題が解決するかどうかを確認できます。
これが有効な場合は、ocf:heartbeat:IPsrcaddr
仮想192.168.5.4アドレスへのフェイルオーバーが発生したときにこのデフォルトのソースパスを自動的に設定するようにPacemaker cibのリソースエージェントを設定するだけです。私のCIBには次のものがあります。
primitive asterisk_srcaddr IPsrcaddr \
params ipaddress=192.168.5.4 cidr_netmask=24
このasterisk_srcaddrリソースが192.168.5.4 IPaddr2リソースの後に開始されることを確認してください。