アプリケーションに特定のIPを割り当てる

アプリケーションに特定のIPを割り当てる

これは私の現在の設定です。

  • マシンAシングルIPA:一般的なDebianサーバー、SSH、Webサーバーなど...
  • マシンBシングルIPB: openvpnサーバー(Debianにもあります)

私の目標は、同じ物理システムを使用して同じことをすることです(マシンC今はIPAそしてIPB同じ物理インターフェイスから):

  • すべて(ssh、Webサーバー、...)が通過します。IPA
  • openvpnに加えてIPB

私の要件は、外部ユーザーが同じ物理システムへのipAとipBパスを推論できないことです(バイパスを除く)。たとえば、マシンAの現在のサービスのどれもipBを受信しないでください。

また、マシンBはopenvpn専用なので、ハイパーバイザーベースのソリューションは避けたいと思います。既存のオペレーティングシステムでopenvpnとipBを「刑務所」にする方法があることを願っています。

この場合、どの技術/パッケージを使用する必要がありますか?

openvpn は待ち時間に敏感でリソースが大量に消費されるため、軽い技術が好まれます。

ベストアンサー1

iptables最善の方法は、各サービス構成でこれを行い、各サービスがIPの代わりに特定のIPを受信するように設定することです。ただし、宛先があり、ポートがポートopenvpnまたはポート以外のすべてのIPBを削除するようにすることができます。宛先 ipB と port のパケットのみを許可しますopenvpnが、ここでは ipA ポートは使用できません。

たとえば、

iptables -t filter -A INPUT -p udp -d <ipB> --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p tcp -d <ipB> --dport 1194 -j ACCEPT

iptables -t filter -A INPUT -p udp --dport 1194 -j DROP
iptables -t filter -A INPUT -p tcp --dport 1194 -j DROP

1194そのポートには、宛先IPBのデータパケットのみが接続できます。

おすすめ記事