Raspberry PI を Asterisk の OpenVPN ルーターとして使用する

Raspberry PI を Asterisk の OpenVPN ルーターとして使用する

それで、私はかなり長い間このことで頭を悩ませてきました。

次のような構成になっています:

  • OpenVPN サーバー、IP 1.2.3.1
  • Asterisk サーバー、OpenVPN サーバーに接続、IP 1.2.3.3
  • Raspberry PI、ローカルインターフェース 192.168.0.17、OpenVPN IP 1.2.3.6 に接続
  • Raspberry PI と同じローカル ネットワーク内の IP 電話、ローカル IP 192.168.0.81

ネットワークは次のように構成されます。

  • ラズベリーのローカル接続はeth0です
  • Raspberry には、IP 192.168.0.91 の追加の仮想インターフェイス eth0:1 があります。
  • ラズベリーのOpenVPN接続はtun0です
  • 電話のローカル IP は 192.168.0.81 で、ゲートウェイは 192.168.0.91 (ラズベリー) に設定されています。

ラズベリーでは、iptables は次のようになります。

#Empty all routing tables
sudo iptables -t nat -F
sudo iptables -F

#Masquerade all traffic leaving tun0 as if coming from 1.2.3.6
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

#redirect all traffic coming from eth0:1 to tun0
sudo iptables -A FORWARD -i eth0:1 -o tun0 -j ACCEPT

#redirect all traffic coming from tun0 to eth0:1
sudo iptables -A FORWARD -i tun0 -o eth0:1 -j ACCEPT

#Modify all packets coming to tun0 to forward then to the IP telephone
sudo iptables -t nat -A PREROUTING -i tun0 -j DNAT --to-destination 192.168.0.81

つまり、電話をかけることも、電話を受けることもできます (VPN サーバーに直接接続され、テスト用に Zoiper を使用している別のラップトップがあります)。電話に電話をかけることも、電話からラップトップへの音声も機能しますが、電話に着信音声はまったくありません。

何が間違っているのでしょうか?

アップデート

私は次のことも試しました

  1. 電話機は 192.168.200.1 / 255.255.255.0 に設定されており、192.168.200.2 / 255.255.255.0 の Raspberry に接続されています (Raspberry の IP は電話機へのゲートウェイです)

  2. tun ip 10.34.87.2 の Raspberry pi (wlan0 を使用して WiFi に接続し、次に VPN に接続)。

  3. IPテーブル sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

  4. VPNサーバー上(10.34.87.1)

route add 192.168.200.0/24 10.34.87.2

注: iptables はマスカレードなしです。これで、192.168.200.1 -> 10.34.87.1 (VPN サーバー) へのトラフィックのルーティングは成功しましたが、その逆はできませんでした。

何か案は?

答え1

マスカレードは必須ですか? 必須でない場合、携帯電話のデフォルト ゲートウェイとして Pi が設定されているため、追加の作業なしでサーバーにアクセスできます。サーバーが携帯電話にアクセスできることを確認し、Pi 経由で 192.168.0.0/24 のルートをサーバーに追加します (必要な場合) (必要に応じて調整します)。

関連情報