これを行う1つの方法は、クライアントの仮想IPに使用するサブネットからサーバーにIPアドレスを割り当てることです。次に、そのIPアドレスをDNSサーバーとしてクライアントに割り当て、IPアドレスプールからIPを除外します。オプションで、Netfilterのポリシーマッチングモジュール(iptables-extensionsのマニュアルページを参照)を介してそのIPアドレスへのアクセスをフィルタリングし、VPNを介してのみアクセスできるようにします。
たとえば、IPアドレスプールが192.168.8.0/24
(たとえばrightsourceip
、ipsec.confまたはswanctl.confの「プール」セクションで構成されている場合)192.168.8.1
サーバーに(たとえば、任意のインターフェイスでlo
)割り当ててから、プールを192.168.8.2/24
(クライアントに割り当てられる最初のアドレスは192.168.8.2
)です。192.168.8.1
DNSサーバーとして割り当てるにはrightdns
、ipsec.confまたはswanctl.confのプールセクションで構成します。
サーバーのパブリックIPアドレスを使用し、前述のポリシーマッチングを使用してVPNを介したUDPポート53へのアクセスのみを許可することもできますが、VPNを介してサーバーのパブリックIPにパケットを送信しないため、これはAppleクライアントでは機能しません(そのため、DNSサーバーを公開するか、クライアントのパブリック/ナットIPアドレスからのアクセスを許可するファイアウォールルールを動的に追加する必要があります。