これは私の現在の設定です。
- マシン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のデータパケットのみが接続できます。