誰かが助けてくれることを願っています...
VPSで動作するようにOpenVPN-AS(つまり、OpenVPNではなくOpenVPNアクセスサーバー)を構成したい。 VPSはKVM Ubunto 10.04 LTSを実行し、非常にバニラ構成です。OpenVPN-ASも同様に、最小限の「フレーバー」でインストールされます。
サーバーには2つのインターフェイスがあります(両方ともDHCP、eth1にはデフォルトゲートウェイが構成されていませんが、使用可能なものが1つあります):-eth0(IS米国では地理的に配置されていない)パブリックIPアドレス)、および--eth1(NATルーター経由でIS米国内に地理的に配置されている)
OpenVPNトンネル(UDP/1194)を含むほとんどのトラフィックは、eth0経由で着信しますが、米国ベースのIPアドレスを利用するには、トンネリングされたクライアントはeth1経由で「発信」する必要があります。 2つの別々の問題があると思います:1)トンネル化されたクライアントがNATルーターを介して離れるゲートウェイがあるようにIPを構成する2)クライアントがインターネットアクセスにそのゲートウェイを使用するようにOpenVPN-ASを構成する
ファイル/ etc/network/interfacesは次のとおりです。
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# The internal (private) network interface
auto eth1
iface eth1 inet dhcp
up ip route add default via 172.16.0.254 dev eth1 table 100
down ip route del default via 172.16.0.254 dev eth1 table 100
up ip rule add from 172.16.0.0/16 iif eth1 lookup 100
down ip rule del from 172.16.0.0/16 iif eth1 lookup 100
up iptables -t nat -A POSTROUTING -s 5.5.0.0/20 -j SNAT --to-source 172.16.191.125
down iptables -t nat -D POSTROUTING -s 5.5.0.0/20 -j SNAT --to-source 172.16.191.125
ネットワークは次のとおりです。
root@us-tunnel:~# ifconfig | grep -A 1 encap
as0t0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:5.5.0.1 P-t-P:5.5.0.1 Mask:255.255.248.0
--
as0t1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:5.5.8.1 P-t-P:5.5.8.1 Mask:255.255.248.0
--
eth0 Link encap:Ethernet HWaddr 00:16:3c:34:01:20
inet addr:209.141.60.114 Bcast:209.141.60.255 Mask:255.255.255.0
--
eth1 Link encap:Ethernet HWaddr 00:16:3c:55:84:81
inet addr:172.16.191.125 Bcast:172.16.255.255 Mask:255.255.0.0
--
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
ルートテーブルは次のとおりです。
root@us-tunnel:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
209.141.60.0 * 255.255.255.0 U 0 0 0 eth0
5.5.0.0 * 255.255.248.0 U 0 0 0 as0t0
5.5.8.0 * 255.255.248.0 U 0 0 0 as0t1
172.16.0.0 * 255.255.0.0 U 0 0 0 eth1
default 209.141.60.1 0.0.0.0 UG 100 0 0 eth0
これを機能させるには、いくつかの手順を実行する必要があります。
まず、クライアントアダプターを介してクライアントトラフィックを転送するように、構成ファイルにルートを設定する必要があります。
これを行うには、クライアント構成ファイルに「ルート」行を追加するか、追加します。
"--pull"
クライアント構成に追加してから、サーバー構成にルートを追加します。
"Push route 0.0.0.0 5.5.0.1"
"Push route 0.0.0.0 5.5.8.1"
次に、VPNネットワークからの着信パケットを許可するようにiptablesを構成し、サーバー側でmasquradeおよびnat転送を有効にする必要があります。
パケット転送とNATを有効にするには
カーネルでパケット転送を有効にする
echo 1 > /proc/sys/net/ipv4/ip_forward
iptablesでNAT
Sudo iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
vPNインターフェースの転送を有効にする
Sudo iptables --append FORWARD --in-interface as0t0 -j ACCEPT
Sudo iptables --append FORWARD --in-interface as0t1 -j ACCEPT
これはルーティング側の基本構成です。より詳細なヘルプが必要な場合は、コメントしてください。