サイトマップ » サ

  • サーバーでパケットルーティングを行いたい (openvpn)
    【設定】 -通常-# sysctl net.ipv4.ip_forward=1 -特殊- (柔軟な設定は出来ない? 未検証)# sysctl net.ipv4.conf.interface_name.forwarding=1 サーバーでルーティングと言えば、Destination Routing を、真っ先に想像します。routeコマンドや、ip route add コマンドです。このコマンドは、自身のサーバーがDefaultGWではなく、他のルーターを介して別セグメント(NW)へ通信したい場合に設定するものであり、・自身のサーバーが、別セグメントにあるサーバーと通信させたい・別セグメントにあるサーバーが自身のサーバーと通信させたい(帰りのパケット)の際に使用します。つまり、起点は自身のサーバーです。 ところが起点とならない場合、つまり中継サーバー的な位置づけの場合です。クライアントA[192.168.0.100/24] -> [192.168.0.1/24] 中継サーバーX [10.0.0.1/24] -> 目的のサーバー[10.0.0.50/24]※ 所謂、ルーターと同様なふるまいを中継サーバーXにする必要があります。 単純にパケットルーティングやACLを行いたいのであれば、FWやルーターに置き換えれば良いのですが、中継サーバーX上で行いたい場合が発生する場合があります。私の場合は、OpenVPNを実装する際に必要となりました。 冒頭で記述したコマンドは、端的に言うと、ネットワークI/F間のパケットをフォワードするかどうかの設定です。OpenVPN(tunデバイス)でいえば、tun0とeth0間をフォワードします。※ OpenVPN(tapデバイス)の場合で、物理NICにブリッジすれば、ルーターやFWでルーティングも可能だと思いますが、    OpenVPNの機能を使って、証明書でのACLやユーザー毎のVPN-IPを変更するなどやりたかったのでtunデバイスとした。    tapデバイスでも出来るかもしれないが、ネットの情報ではtunデバイスを使った手法の情報が多かった。