
CentOS 7(CentOS 7には関連付けられていません)で実行されている新しいOpenVPNasサーバーがあります。高価な商用VPNをパブリック固定IPに置き換えようとしています。 OpenVPNasサーバーはプライベートVPNサーバーとして機能するため、商用サーバーを交換するには、いくつかのポートを固定の内部VPNアドレスに転送するだけです。
VPNクライアントを設定し、サーバーからクライアントの静的IPに、固定IPからサーバーのパブリックIPにpingできます。
サーバーIPの次のポートを内部VPNに転送/ NAT /最もしたいと思います。
公開TCP 80はサーバーの公開です:80 - > 172.28.28.28:80 パブリックUDPポート2074-2093 パブリックTCPポート15425-15427 パブリックUDPポート5198-5200 パブリックTCPポート5198-5200
route
別の/コマンドを試しましたが、iptables
まだ魔法の弾丸を見つけることができませんでした。私はこれが簡単なプロセスだと思いますが、解決策は私を混乱させます。 SSH を使用すると、サーバーは VPN ポート 80 に接続でき、VPN の Web インターフェースを介してクライアントのポートを取得できます。したがって、デフォルトのルーティングは期待どおりに機能します。
サーバーページのポート80に向かうパケットを転送するためにルーティングする魔法の方法はわかりません。
[root@vpn ~]# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 [root@vpn ~]# ルーティング -n カーネルIPルーティングテーブル Ifaceを使用したターゲットゲートウェイGenmaskマークメトリックリファレンス 0.0.0.0 209.182.218.1 0.0.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 有 1002 0 0 eth0 172.27.224.0 0.0.0.0 255.255.252.0 ユー 0 0 0 as0t0 172.27.228.0 0.0.0.0 255.255.252.0 ユー 0 0 0 as0t1 172.27.232.0 0.0.0.0 255.255.252.0 ユー 0 0 0 as0t2 172.27.236.0 0.0.0.0 255.255.252.0 ユー 0 0 0 as0t3 172.28.28.28 0.0.0.0 255.255.255.255 語 0 0 0 as0t0 209.182.218.0 0.0.0.0 255.255.255.0 有 0 0 0 eth0 [root@vpn ~]# IP ルーティングリスト デフォルト値は 209.182.218.1 dev eth0 です。 169.254.0.0/16 dev eth0 スコープリンクメトリック 1002 172.27.224.0/22 dev as0t0プロトタイプカーネル範囲リンクsrc 172.27.224.1 172.27.228.0/22 dev as0t1プロトタイプカーネル範囲リンクsrc 172.27.228.1 172.27.232.0/22 dev as0t2プロトタイプカーネル範囲リンクsrc 172.27.232.1 172.27.236.0/22 dev as0t3プロトタイプカーネル範囲リンクsrc 172.27.236.1 172.28.28.28 dev as0t0オリジナルスタティック 209.182.218.0/24 dev eth0プロトタイプカーネルスコープリンクsrc 209.182.218.187 [root@vpn ~]# ifconfig as0t0: フラグ=4305 mtu 1500 inet 172.27.224.1ネットマスク255.255.252.0ターゲット172.27.224.1 inet6 fe80::4da2:53e9:7fba:8f11 prefixlen 64scopeid 0x20 指定なし 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 200 RXパケット219バイト13438(13.1KiB) RXエラー0ドロップ0オーバーフロー0フレーム0 TXパケット250バイト202093(197.3KiB) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0 as0t1: フラグ=4305 mtu 1500 inet 172.27.228.1ネットマスク255.255.252.0ターゲット172.27.228.1 inet6 fe80::d557:1adc:c34c:4954 prefixlen 64scopeid 0x20 指定なし 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 200 RXパケット0バイト0(0.0B) RXエラー0ドロップ0オーバーフロー0フレーム0 TXパケット3バイト144(144.0B) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0 as0t2: フラグ=4305 mtu 1500 inet 172.27.232.1 ネットマスク 255.255.252.0 対象 172.27.232.1 inet6 fe80::be1a:bfd3:3c25:20f9 prefixlen 64scopeid 0x20 指定なし 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 200 RXパケット0バイト0(0.0B) RXエラー0ドロップ0オーバーフロー0フレーム0 TXパケット3バイト144(144.0B) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0 as0t3: フラグ=4305 mtu 1500 inet 172.27.236.1ネットマスク255.255.252.0ターゲット172.27.236.1 inet6 fe80::bfed:3f81:6938:bbc7 prefixlen 64scopeid 0x20 指定なし 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 200 RXパケット0バイト0(0.0B) RXエラー0ドロップ0オーバーフロー0フレーム0 TXパケット3バイト144(144.0B) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0 eth0: フラグ=4163mtu 1500 inet 209.182.218.187 ネットマスク 255.255.255.0 ブロードキャスト 209.182.218.255 inet6 fe80::216:3eff:fecc:ddf3 prefixlen 64 範囲 ID 0x20 イーサネット 00:16:3e:cc:dd:f3 txqueuelen 1000 (イーサネット) RXパケット11673バイト1350674(1.2MiB) RXエラー0ドロップ14オーバーフロー0フレーム0 TXパケット5295バイト1099520(1.0MiB) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0 チャジャン: フラグ=73 mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6::1 prefixlen 128scopeid 0x10 Loop txqueuelen 1000(ローカルループバック) RXパケット9バイト748(748.0B) RXエラー0ドロップ0オーバーフロー0フレーム0 TXパケット9バイト748(748.0B) TXエラー0ドロップ0オーバーフロー0キャリア0クラッシュ0
答え1
OpenVPN-ASにインターフェイスに動的または固定パブリックIPが割り当てられているとします。イーサネット0、ファイアウォールルールを作成するときにインターフェイス名を使用します。このアプローチでは、両方のケースでルールが機能します。この場合、構成する必要があります。ターゲットNAT
VPNサーバーにトンネルインターフェイスがある場合Tun0IPは172.28.28.1IPを持つ内部Webサーバー172.28.28.28リスニングポート80
$ sudo iptables -t nat -A PREROUTING -p tcp -m tcp -d eth0 --dport 80 -j DNAT --to-destination 172.28.28.28
$ sudo iptables -t nat -A POSTROUTING -o tun0 -p tcp -m tcp -d 172.28.28.28 --dport 80 -j SNAT --to-source 172.28.28.1