アウトソーシング会社の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ネットワークを介して完全にリモートで再構成されました。