膝の上の50以上の枝でのVPN

画像

アウトソーシング会社のVPNを作成する必要がありました。顧客の管理者と自分のネットワークが各クライアントホストをNATの背後に見せるようにクライアント企業のネットワークとの接続を整理し、その逆は不可能でした。 原則として、ハードウェアソリューションはコストのために考慮されず、すべての専有ソフトウェアソリューションは同じ理由で削除されました。 フリーソフトウェアのみが残っています。 無料ソリューションの利点は十分すぎる



FreeBSDで無料のシステムを知り始めたので、選択は彼女にかかった。 すぐにBSD対Linuxのトピックでホリバーを繁殖させないようにhabraludesにお願いします-選択する主な理由は、このシステムについてのより深い知識でした(それを使って自分の仕事の結果を確信できるほどLinuxを習得できません)。 実際、OpenVPNに基づいてVPNを整理することが決定されました-繰り返しますが、私は以前にそれを処理しなければならず、欠陥は見つかりませんでした。 繰り返しになりますが、PPTPのテーマについてはホリバーなしでお願いします-そのような解決策の支持者がいれば-あなたの記事を書いてください。



また、顧客は管理の容易さの要件を表明しました。 そのため、顧客の従業員が特定のニーズに合わせて紙の構成を修正できるようにします。

まあ、ネットワーク間を通過するトラフィックとADの承認によるアクセスの完全な監視が必要でした(顧客はメインゲートウェイにKerio Winrouteファイアウォールを持っています)

したがって、要件の下で線を引くと、次のようになります。

-機器の最小コスト

-管理のしやすさ

-展開速度

-アクセス制御

ソリューションの詳細-アンダーカット

もちろん、簡単な管理のタスクは、便利なWebインターフェイスを備えた配布キットを選択することになりました。 選択はpfSenseにかかった:



1.最小ハードウェア要件-PII / 128RAMで動作します。

2.安定したバグのあるWeb銃口-表面的にネットワークテクノロジーに精通しているenikeyschでも理解できます。

3. 10分でインストール-すべての設定を1つのXMLファイルに保存。

4.さらに、ボーナスとして、Webインターフェイスから制御される多数のソフトウェアと、FreeBSD用のソフトウェアセット全体(特定の何かが必要な場合)。



実際にステップで行ったこと:

1.仮想マシン(XEN上)に純粋なFreeBSD 8.2を提供し、1つのコアと256個のメモリを提供しました

2. OpenVPNのインストール(#pkg_add -r openvpn20のみ)

3. OpenVPN構成は次のように構成されています。



ポート1194#クライアントをノックするポート

proto udp#UDPの選択

開発タップ#は、アドレス指定の理由で選択されました-たくさんのトンネルを見たくありませんでした



#keys

ca /usr/local/etc/openvpn/keys/ca.crt

cert /usr/local/etc/openvpn/keys/server.crt

キー/usr/local/etc/openvpn/keys/server.key

dh /usr/local/etc/openvpn/keys/dh1024.pem



#サーバーのIP

サーバー10.17.0.0 255.255.0.0#実際には、サーバーIP

push "route 10.17.0.0 255.255.0.0"#VPNのクライアントへのルート

「route-gateway 10.17.0.1」をプッシュします。何らかの理由で、それなしでは機能しませんでしたが、

client-config-dir ccd#クライアント設定が置かれているディレクトリ

クライアント間#クライアントがお互いを見ることができるようにします

route 10.17.0.0 255.255.0.0#VPNのルート

#認証

tls-server#TLSを作成

tls-auth keys / ta.key 0

tls-timeout 120

auth MD5#MD5を強制

cipher BF-CBC#暗号化を強制する

キープアライブ10120

comp-lzo#トラフィックを圧縮

max-clients 4000#天井から撮影

妄想とシステム哲学のためのユーザーnobody#

グループなし

永続キー



#logging

status /var/log/openvpn/openvpn-status.log

ログ/var/log/openvpn/openvpn.log

動詞3



完全な構成を書く価値はないと思います-十分な具体的な記事があります。



4.実際、これらすべてをスタートアップに追加しました。



サーバー#more /etc/rc.conf



defaultrouter = "192.168.0.247"

gateway_enable = "YES"

ホスト名= "server.nerv.local"

ifconfig_re0 = "inet 192.168.0.244ネットマスク255.255.255.0"

keymap = "en.koi8-r"

sshd_enable = "YES"

openvpn_enable = "YES"

openvpn_if = "タップ"

openvpn_configfile = "/ usr / local / etc / openvpn / server"

openvpn_dir = "/ usr / local / etc / openvpn"

startroute_enable = "YES"



IPクライアントの配布はccdディレクトリファイルから実行されます-これはこのサーバーセットアップ全体の設定から見ることができます-再びキー生成については説明しません-これはすべて非常に正確かつ詳細に説明されています、たとえばここ: www.lissyara.su/articles/freebsd/セキュリティ/ openvpn



ccdディレクトリのクライアントファイルには1行のみが書き込まれます。

ifconfig-push 10.17.0.131 255.255.0.0#クライアントに特定のアドレスとマスクを与える

顧客のハードウェアで戦闘サーバーを上げるためのすべての操作には20分かかりました。キーの作成はカウントされません。



クライアントをセットアップするのにいくらかのシャーマニズムが必要でしたが、enikeyshchikにコンソールに触れるように強制する必要はありませんでした。 この記事では、顧客に発行されたアクションの指示を単に示します。



========== pfSenseでOpenVPNクライアントを設定======

1.システムメニュー>証明書マネージャー> CAタブ

新しいCAを追加

1. [記述名]フィールドに任意の識別子を入力します。

2.「方法」リストで、「既存の証明書の自動性をインポート」を選択します

3. [証明書データ]フィールドに、証明書ca.crtの内容を入力します

保存する

2.システムメニュー>証明書マネージャー>証明書タブ

新しいクライアント証明書を追加する

1.「方法」リストで、「既存の証明書のインポート」を選択します

2. [記述名]フィールドに任意の識別子を入力します。

3. [証明書データ]フィールドに、証明書name_client.crtの内容を入力します

4.秘密鍵データのフィールドに、ファイルname_client.keyの内容を入力します

保存する

3. VPNメニュー> OpenVPN>クライアントタブ

新しい接続を追加する

1. [サーバーモード]リストで、[ピアツーピア(SSL / TLS)]を選択します

2. UDPプロトコル

3.デバイスモード-TAP

4.インターフェース-WAN

5.ローカルポート-空のままにします

6.サーバーのホストまたはアドレスは、サーバーのIPアドレスを入力します

7.サーバーポート1194

8.プロキシがいっぱいにならない

9. [TLS認証]セクションで、チェックを外します(共有TLS認証キーを自動的に生成します)

10.開いたフィールドに、ta.keyの内容を入力します

11.ピア認証局は、1.1項で導入されたものを選択します

12.クライアント証明書リストで、セクション2.2で入力したものを選択します

13.暗号化アルゴリズムリストで、BF-CBC(128ビット)を選択します

14.圧縮フィールドを確認します(LZOアルゴリズムを使用してトンネルパケットを圧縮します)

高度な入力フィールドに15

auth MD5

ns-cert-typeサーバー

永続キー

動詞3

保存します。 すべてが正しく行われると、15〜45秒後に接続がアクティブになります

4.メニュー項目インターフェース->(割り当て)を選択します

1.「+」ボタンで新しいインターフェースを追加します

2.ドロップダウンリストでovpnc1インターフェイスを選択し、[保存]ボタンをクリックします

3.メニュー項目[インターフェイス]-> [OPT1]を選択し、[インターフェイスを有効にする]チェックボックスをオンにして、[保存]をクリックし、[変更を適用]ボタンをクリックします

4. [説明]行に「VPN」と入力し、[タイプ]リストで[静的]を選択し、表示される[静的IP構成]フィールドでVPNクライアントアドレスを入力し、マスク16を選択します(ゲートウェイを入力する必要はありません!!!)

5. [プライベートネットワーク]セクションにチェックマークがある場合-それらを削除して、[保存]ボタンをクリックします

5.メニュー項目ファイアウォール-> NATを選択します

1. [送信]タブを選択します

2.モードスイッチを手動モード(右位置)に設定し、[保存]をクリックします

3. NATリストで、「+」ボタンをクリックして新しいオプションを追加します

4. [インターフェイス]フィールドで、[OpenVPN(VPN !!!ではありません)]を選択します

5. [ソース]フィールドにローカルネットワークアドレス(通常は192.168.x.0 / 24)を入力し、マスクを選択します

6.「宛先」フィールドに、ネットワーク10.17.0.0とマスク16を入力します

7. [変換]フィールドで、[静的ポート]ボックスをオンにします。

8. [保存]ボタンを押します

=======================================



当然、pfSenseは顧客のクライアント側のメインゲートウェイとして設定する必要があります。



最後に、最後の手順は、顧客のネットワークからクライアントのネットワークへのアクセスを構成することです。OpenVPNクライアント(OpenVPN-GUIを使用)が顧客のゲートウェイで発生し、ネットワークへの静的ルートがネットワークのIPアドレスを介して登録されました10.17.0.0/16



必要なのはそれだけです。 このスキームの構成を容易にするための唯一の要件は、すべてのクライアントのネットワークが異なる必要があることです。 顧客にとって、この条件は単純であることが判明しました。ネットワークが一致した場合、すべてが問題なく、同じVPNネットワークを介して完全にリモートで再構成されました。



All Articles