クラむアント蚌明曞ず倱効リストを䜿甚しおMikroTikをOVPNサヌバヌずしお構成する

私の前に、クラむアント蚌明曞ずそれらを取り消す機胜を䜿甚しお、MikroTikをOVPNサヌバヌずしお構成するタスクがありたした。 このテヌマに関する明確なハりツヌをむンタヌネット䞊で芋぀けられなかったので、自分の自転車を発明するこずにしたした。 この蚘事では、この奇跡の構成スキヌムに぀いお説明したす。

PKI ROSの䜿甚


PKIに぀いおは、2぀のオプションがありたす。

1.組み蟌みのPKI ROSの䜿甚


2.サヌドパヌティのPKI-openssl、たたはPKI Windowsサヌバヌを䜿甚したすStartSSLなどの信頌できるCAは䜿甚しないでください。クラむアント蚌明曞はあなただけに発行されたせん。


第䞀に、それは私に合っおいるので、第二に、それはより柔軟であるため、最初のオプションのみを怜蚎したす。 たた、蚌明曞のパラメヌタヌや暙準ROSツヌルの他のさたざたなパラメヌタヌに぀いおは説明したせん。 包括的な説明は、公匏のMikroTik Wikiにありたす。

ROSでOVPNサヌバヌを構成する


1. PKIの構成

1.1。 CA蚌明曞

/certificate add name=template-CA country="" state="" locality="" organization="" unit="" common-name="test-CA" key-size=4096 days-valid=3650 key-usage=crl-sign,key-cert-sign


/certificate sign template-CA ca-crl-host=127.0.0.1 name="test-CA"


泚ca-crl-host =は必須パラメヌタヌです。それ以倖の堎合、レビュヌリストは䜜成されたせん。 倱効リストぞの完党なパスは、蚌明曞のパラメヌタヌの列「[1]倱効リストの配垃ポむントCRL」に瀺されたす。 原則ずしお、MikrotikのIPアドレスのいずれかを指定できたす。これは、指定したものであり、蚌明曞に登録されたす。 残念ながら、ドメむン名はパラメヌタヌでサポヌトされおいたせん。

1.2。 サヌバヌ蚌明曞

/certificate add name=template-SRV country="" state="" locality="" organization="" unit="" common-name="test-srv-OVPN" key-size=4096 days-valid=1095 key-usage=digital-signature,key-encipherment,tls-server


/certificate sign template-SRV ca="test-CA" name="test-srv-OVPN"


泚鍵䜿甚サヌバヌ蚌明曞の堎合、 ここで説明されおいる理由を倉曎しないこずをお勧めしたす実際に倉曎したい堎合は、クラむアントの構成に登録する必芁があるこずを瀺したす。

泚SSTPずは異なり、OVPNは、サヌバヌ蚌明曞の共通名がこのサヌバヌのfqdnず䞀臎するかどうかをチェックしたせん。

1.3。 顧客蚌明曞のテンプレヌト

/certificate add name=template-CL country="" state="" locality="" organization="" unit="" common-name="test-client-ovpn-template" key-size=4096 days-valid=365 key-usage=tls-client


1.3.1最初のクラむアントの蚌明曞

/certificate add name=template-CL-to-issue copy-from="template-CL" common-name="test-client-ovpn-1"


/certificate sign template-CL-to-issue ca="test-CA" name="test-client-ovpn-1"


1.3.2。 2番目以降の顧客の蚌明曞

セクション3.1を参照しおください。ただし、パラメヌタヌの倀を倉曎したす。

common-name="test-client-ovpn-1"


最初のコマンドの堎合、この倀は同じCA内で䞀意でなければなりたせん。

name="test-client-ovpn-1"

2番目のチヌムの堎合、この倀は1぀のマむクロティック内で䞀意でなければなりたせん。

1.4将来、蚌明曞を取り消すには、次のコマンドを䜿甚したす。

certificate issued-revoke %cert-name%


ここで、cert-nameは、眲名された蚌明曞の名前=フィヌルドです。぀たり、PKI mikrotikaが衚瀺されたす。

2. OVPNサヌバヌを構成する


泚tunモヌドROSの「ip」で構成するか、tapモヌドROSの「ethernet」で構成できたす。 Tunモヌドは通垞のトンネルです。 タップモヌド-フルむヌサネットの゚ミュレヌション、特にタップモヌドでは、クラむアントをブリッゞモヌドに結合でき、お互いを完党に認識したす。 理論的には、タップモヌドでDHCPサヌバヌを起動できたすが、これはROSの珟圚のバヌゞョンでは実装されおいたせん。

2tun。 調敎モヌド


2トン1​​。 OVPNクラむアントのアドレスプヌルを蚭定したすPPPプロファむルで盎接蚭定できたす。

/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.254


2トン2。 OVPNサヌバヌのPPPプロファむルを䜜成したす。

/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool


オプション 残りのパラメヌタヌは、お客様の奜みに合わせお、目暙に応じお決たりたす。 䟋dns = 192.168.100.1 use-ipv6 = no

2tun。3。 ナヌザヌ認蚌モヌドを構成したす。

/ppp aaa set accounting=yes


2トン4。 ナヌザヌを远加したす。

/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server


/ppp secret add name=test-user-2 password=P@ssword2 service=ovpn profile=OVPN_server


2トン5。 OVPNサヌバヌの電源を入れたす。

/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ip netmask=24 require-client-certificate=yes certificate=test-srv-OVPN enabled=yes


2タップ タップモヌド


2タップ1。 OVPNクラむアントのアドレスプヌルを蚭定したすPPPプロファむルで盎接蚭定できたす。

/ip pool add name=OVPN_srv_pool ranges=192.168.100.2-192.168.254


2tap.1 +。 OVPN接続甚のブリッゞを䜜成したす。

/interface bridge add name=OVPN_bridge arp=enabled


泚ブリッゞのIPは割り圓おる必芁がありたせん、それは既にPPPプロファむルにありたすさらに、ブリッゞのアドレスを指定するが、PPPプロファむルでlocal-address =を指定しない堎合、クラむアントは接続したせん。

泚arpを有効にする必芁がありたす。有効にしないず、クラむアントはお互いを芋るこずができたせん。

2トン2。 OVPNサヌバヌのPPPプロファむルを䜜成したす。

/ppp profile add name=OVPN_server local-address=192.168.100.1 remote-address=OVPN_srv_pool bridge=OVPN_bridge


オプション 残りのパラメヌタヌは、お客様の奜みに合わせお、目暙に応じお決たりたす。 䟋dns = 192.168.100.1 use-ipv6 = no

2タップ3。 ナヌザヌ認蚌モヌドを構成したす。

/ppp aaa set accounting=yes


2タップ4。 ナヌザヌを远加したす。

/ppp secret add name=test-user-1 password=P@ssword1 service=ovpn profile=OVPN_server


/ppp secret add name=test-user-2 password=P@ssword2 service=ovpn profile=OVPN_server


2タップ5。 OVPNサヌバヌの電源を入れたす。

/interface ovpn-server server set auth=sha1 cipher=blowfish128 default-profile=OVPN_server mode=ethernet netmask=24 require-client-certificate=yes certificate=test-srv-OVPN enabled=yes


䞡方のモヌドに関する泚意

1.蚌明曞の承認にもかかわらず、ナヌザヌの存圚は必須です。 すべおのクラむアントに察しお1人のナヌザヌを䜜成し、クラむアント構成に同じナヌザヌ名/パスワヌドを登録できたすが、これにより特定のナヌザヌの接続ずアクションを远跡できなくなりたす-䞍䟿で、やや安党ではありたせん。

2. RADIUS認蚌に぀いおは、テストしおいないずいう理由だけで怜蚎しおいたせん。 ナヌザヌ名/パスワヌドに察しおのみ機胜するず想定できたすが、蚌明曞は匕き続きMikrotikでチェックされたす。

3.アドレスプヌルがOVPNサヌバヌ蚭定で指定されたサブネットず䞀臎するこずを確認したす。 さらに、ROS OVPNサヌバヌは、たずえば、マスク29を䜿甚し、ranges = 192.168.100.0 / 29をプヌルずしお指定した堎合、ロヌカルアドレス=サヌバヌずプヌルから割り圓おられたクラむアントアドレスが同じネットワヌクに属しおいるかどうかを刀断したせん。ブロヌドキャスト192.168.100.7は、私が持っおいたように、クラむアントに簡単に割り圓おるこずができたす。 瀺されたプヌルがマスクが瀺すよりも倧きい堎合、たったく同じ状況が発生する可胜性がありたす。問題のみがすぐには明らかにならず、少し埌で明らかになりたす。

3.蚌明曞を゚クスポヌトしおクラむアントを構成する


3.1。 CA蚌明曞の゚クスポヌト

/certificate export-certificate test-CA export-passphrase=""


泚蚌明曞自䜓が必芁なだけで、秘密キヌは必芁ないため、パラメヌタヌexport-passphrase = ""は空でなければなりたせん。

3.2。 顧客蚌明曞の゚クスポヌト

/certificate export-certificate test-client-ovpn-1 export-passphrase=private-key-password1


/certificate export-certificate test-client-ovpn-2 export-passphrase=private-key-password2


泚export-passphrase =-秘密鍵を゚クスポヌトするための必須パラメヌタヌ。 各クラむアントにパスワヌドを䜿甚したす。 2.4項でナヌザヌに指定したものず同じパスワヌドを䜿甚しないでください

3.3。 受け取った蚌明曞ずキヌファむルを䟿利な方法でMikrotikから抜出したす原則ずしお、winboxから盎接ファむルを前埌にドラッグしたす。

Windowsクラむアントのセットアップ


1. openvpn.netからOVPNディストリビュヌションを取埗したす。
2.構成モヌドに必芁なタップむンタヌフェむスを含む、すべおのオプションをデフォルトでむンストヌルしたす。
3. OpenVPN \ configデフォルトではC\ Program Files \ OpenVPN \ configに移動し、そこにclient.ovpnファむルを䜜成したすたたはOpenVPN \ sample-configからコピヌしたす。
4.クラむアント構成を䜜成するか、sample-configで倉曎を加えたす。

client.ovpnの内容ず小さなコメント
OVPNサヌビスが機胜するモヌド
client

泚意 2぀のパラメヌタヌを1぀だけ指定したす
tupモヌドの堎合、パラメヌタヌを指定したす
dev tun
タップモヌドの堎合、パラメヌタヌを指定したす
dev tap

このパラメヌタヌは、タップモヌドが䜿甚される堎合にのみ指定され、MyTapの代わりに、Windowsのタップむンタヌフェむス名ipconfig / all、たたはコントロヌルパネルのネットワヌク接続に眮き換えられたす。
dev-node MyTap

䜿甚されるプロトコル。 ROS OVPNサヌバヌはTCPモヌドでのみ動䜜したす
proto tcp

接続するサヌバヌのアドレスずポヌト。 ovpn.my.domainの代わりに-DNS名たたはIPアドレス。 耇数のサヌバヌを指定できたす。
remote ovpn.my.domain 1194
;remote my-server-2 1194


このパラメヌタヌは、耇数のサヌバヌが䜿甚されおいる堎合にのみ必芁です。 接続䞭にこのパラメヌタヌを指定するず、クラむアントは指定されたサヌバヌの1぀をランダムに遞択したす
;remote-random

指定されたDNSサヌバヌ名からIPアドレスを決定する詊行間のタむムアりト秒単䜍たたは無限-無限
resolv-retry infinite

このパラメヌタヌが指定されおいる堎合、クラむアントは動的な発信ポヌトを䜿甚しお接続したす
nobind

クラむアントが再接続時にトンネル蚭定を保存できるようにするずずもに、キヌファむルを再読み取りしないようにする
persist-key
persist-tun


プロキシ蚭定
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]


重耇パケットメッセヌゞを無効にしたす
;mute-replay-warnings

蚌明曞ファむルぞのパス
ca-クラむアント蚌明曞ずサヌバヌ蚌明曞を発行したCA蚌明曞
cert-クラむアント蚌明曞
key-クラむアント蚌明曞の秘密鍵
ca cert_export_test-CA.crt
cert cert_export_test-client-ovpn-1.crt
key cert_export_test-client-ovpn-1.key


auth-user-passは、クラむアントに認蚌にナヌザヌ名ずパスワヌドを䜿甚するように指瀺したすただし、蚌明曞の代わりではなく、蚌明曞を䜿甚したす
auth-user-passは、OVPNクラむアントにナヌザヌ名ずパスワヌドを䜿甚するように指瀺したすただし、蚌明曞の代わりではなく、蚌明曞を䜿甚したす
user-pwd.txtは、ログむンずパスワヌドが保存されおいるファむルを指したす。 ファむルの最初の行はログむン、2番目の行はパスワヌドです。 この匕数がない堎合、接続するたびにナヌザヌ名ずパスワヌドが芁求されたす
泚接続するたびにすでにキヌを入力する必芁がある秘密キヌを持぀蚌明曞を䜿甚する堎合、ナヌザヌにパスワヌドによるログむンを蚘憶させる必芁はないず考えたす
--auth-user-pass user-pwd.txt

正しいキヌ䜿甚法に぀いおサヌバヌ蚌明曞をチェックする必芁があるこずをクラむアントに䌝えたす
remote-cert-tls server

認蚌プロセスハンドシェむクの開始を暗号化するキヌ、远加のセキュリティ察策。 蚌明曞なしでログむン/パスワヌドのみを䜿甚する堎合に意味がありたす。
;tls-auth ta.key 1

特別な暗号化方匏の蚭定、デフォルトではblowfish128が䜿甚されたす。
;cipher x

lzo圧瞮を䜿甚したす。 ROS䞊のOVPNはサポヌトされおいたせん。
;comp-lzo

ログレベル。 倀が倧きいほど詳现になりたす。
verb 3

重耇するログメッセヌゞのブロック
;mute 20

䞊蚘のパラメヌタヌには、クラむアントの構成の「ネむティブ」䟋に存圚するパラメヌタヌ+ 1パラメヌタヌが必芁です
以䞋に、私の意芋では、さらに有甚なパラメヌタヌを瀺したす。

接続開始時に蚭定されたルヌト
ルヌトはゲヌトりェむを瀺すのではなく、接続を盎接瀺す
route 192.168.88.0 255.255.255.0

接続を確立した埌、ルヌトを蚭定する前に䞀時停止したす秒単䜍
route-delay 5

OVPN接続をメむンゲヌトりェむずしお蚭定する堎合
route-gateway 192.168.100.1
redirect-gateway def1 //
route-gateway 192.168.100.1
redirect-gateway def1 //
. , .
route-gateway 192.168.100.1
redirect-gateway def1 //
@bibliary . , .
route-gateway 192.168.100.1
redirect-gateway def1 //
. , .
. , .



泚構成で指定されたルヌティングパラメヌタヌを䜿甚するには、OVPNサヌビス自䜓、たたはOVPN GUIを管理者暩限で開始する必芁がありたす。

泚ほずんどのパラメヌタヌのリストはここにありたすが、やや時代遅れです。

MikroTikクラむアントを構成する


1蚌明曞のむンポヌト

1.1 microtic CA蚌明曞ファむルず蚌明曞ファむルずクラむアントキヌファむルを䟿利な方法で配眮したす

1.2 CA蚌明曞のむンポヌト

/certificate import file-name=cert_export_test-CA.crt passphrase=""


1.3蚌明曞ずクラむアントキヌをむンポヌトする

/certificate import file-name=cert_export_test-client-ovpn-1.crt passphrase=""


/certificate import file-name=cert_export_test-client-ovpn-1.key passphrase=private-key-password1


2.クラむアントを構成したす

/interface ovpn-client add name=OVPN_client connect-to={ovpn.my.domain|xxx.xxx.xxx.xxx} port=1194 mode={ip|ethernet} user=test-user-1 password=P@ssword1 profile=default certificate=cert_32 auth=sha1 cipher=blowfish128 add-default-route={no|yes} disabled=no


以前の蚭定ずニヌズに埓っお、{}の倀を指定したす。

実隓には、次のハヌドりェアず゜フトりェアが䜿甚されたした。
RouterOS 6.32.2を搭茉したRouterBoard 2011UiAS-2HnD-2個。1぀はサヌバヌずしお、もう1぀はクラむアントずしお。 どちらも境界ゲヌトりェむずしお機胜したす-自宅でも職堎でも。

ボットにWindows 10 Pro x64を搭茉したラップトップ-1台、クラむアントずしお。 仕事ず研究宀ずしおの圹割を果たしたす。

次のリ゜ヌスが認知に䜿甚されたした。
wiki.mikrotik.com
openvpn.net/index.php/open-source/documentation/howto.html
tuxnotes.ru/note/1
www.v13.gr/blog/?p=386
そしお、怜玢結果からさらに詳现に。

ご枅聎ありがずうございたした。

Source: https://habr.com/ru/post/J269679/


All Articles