SOHOのさまざまなタスク用にMikrotikルーターを構成する

この記事は、社内で新しいルーターを構成するために、私が個人的に書いた内部指示書付きのトレーシングペーパーです。 アイテムは多かれ少なかれ時系列順に並べられますが、それぞれは当社で使用されているサービスの1つに対する独立したミニ命令です。



1.電源オン、初期セットアップ



最初に行うことは、デバイスに接続することです。 デフォルトでは、ルーターの設定は192.168.88.0/24



サブネットで設定されます。 ブラウザーでアドレスを開き、コンピューターのWinbox.exe



にダウンロードして保存します。







Winbox



を起動し、逆Connect to



[ Connect to



]をクリックして[ "…"



]ボタンをクリックすると、数秒後にルーターがリストに表示されます。







MACアドレスをダブルクリックし、パスワードなしでadmin



という名前で接続します。

最初のログイン時に、システムは自動ルーター構成スクリプトが起動されたことを警告します。 [ Remove Configuration



Remove Configuration



]ボタンをクリックします。







その後、 Winbox



コンソールが閉じるまで待機し、数秒後にWinbox



を(保存した場所から)再び起動し、MACアドレスに再度接続します。

接続したら、左側のInterfaces



を選択し、不要なインターフェイス( VLAN, Bridge



を削除しVLAN, Bridge



。 各インターフェイスの設定(会社のルーターには5つしかありません)に進み、 Master-port



proxy-arp



を無効にして、設定を次の形式にします。







2. IPを発行する



IP — Addresses



移動しIP — Addresses



。 必要なインターフェイスに必要なアドレスを指定します。 エスコートネットワークでルーターを使用する場合、2つのインターネットプロバイダーと内部ネットワークが接続されます。 2番目の内部ネットワークは、VPNを介して形成されます。 各インターフェイスに必要なIPを示します。

 [admin@Mikrotik] /ip address> print Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK INTERFACE 0 I ;;; , !!! 10.0.33.1/24 10.0.33.0 ether4-hosting-network 1 22.22.22.17/29 22.22.22.16 ether2-gateway2 2 11.11.11.1/28 11.11.11.0 ether1-gateway1 3 192.168.3.101/22 192.168.0.0 ether3-internal-network 4 I 192.168.4.2/22 192.168.4.0 ether4-hosting-network
      
      







3.ルーティング



3.1。 マスタールートとスレーブルートを作成する


IP — Routes



移動しIP — Routes



。 デフォルトでは、ルーティングのホストの代わりにインターフェースが使用されます。 すべての静的ルートを削除することをお勧めします。静的ルートを変更した後、動的ルートは自動的に変更されます。 注意:すべてを簡単に削除するには、ルートを使用せずにローカルネットワーク経由でルーターに接続する必要があります。そうしないと、メイン接続が削除されたときに接続が切断されます。 次に、新しいルートを作成しますDst.Address



フィールドDst.Address



0.0.0.0/0を指定し、GatewayフィールドでメインゲートウェイのIPを指定します。 距離を忘れないでください-どのルートで短いか、それが主なものになります。 一般に、ルート設定は次のようになります。







外部インターフェイスの場合、距離4の11.11.11.11と距離3の22.22.22.22をゲートウェイとして指定します。







3つのルート(外部チャネルに2つ、内部ネットワークに1つ)を追加した後、ルーターをネットワークに接続し、内部IPを使用してIP 192.168.3.101で接続できます。



3.2。 テーブルルーティングを作成する


上記で作成した構成では、2つの外部インターフェイスを作成できますが、そのうち1つのみが単位時間あたりに機能します。つまり、距離が短いものと最大のものは、ケーブルが最初のインターフェイスから引き出されたときにのみ機能します。 明らかな理由から、これは私たちには適していません-2つのゲートウェイの同時操作が必要です。 これを行うには、要求の送信元のインターフェイスにトラフィックを返すようにルーターに教える必要があります。 これは、2つの追加ルートを作成し、ファイアウォールを設定することにより行われます。 まず、必要なルートを作成します。 以前に作成したルートも便利ですが、複製することができます。 それらはわずかに変化します。 これを行うには、以前に作成したルートをクリックし、[ Copy



]ボタンをクリックして、 Routing Mark



を追加します。それぞれ、インターフェイス名でルートをマークします。 それらをto_ISP1



およびto_ISP2



to_ISP2













次に、に行きます
IP-ファイアウォール-マングル




ルールを作成します。

  General: Chain: prerouting In-interface:      Connection Mark: no-mark ,   Action: Action: mark connection New Connection Mark: ISP1_conn Passthrough:  .
      
      







留め具の写真








これらの手順は、2つの外部インターフェイス(それぞれISP1_conn



およびISP2_conn



ブランド)に対して2回繰り返す必要があります。

次に、 ISP1_conn



およびISP2_conn



とマークされた発信トラフィックを上記でマークされたルートにISP2_conn



する2つのルールをさらに作成する必要があります。 ルールを作成します。

 General: Chain: output Connection Mark: ISP1_conn Action: mark routing New Routing Mark: to_ISP1 Passthrough:  .
      
      







写真










4.マスタースレーブモードでのルートバランシング



そのため、同時に動作する2つのゲートウェイの存在を実現しました。そのうちの1つは2番目のゲートウェイよりも優先度が高くなっています。 この設定の問題は、デバイスインターフェイスの物理リンクが落ちたときに、ゲートウェイ間の切り替えが排他的に実行されることです。 しかし、他の状況があります:アカウントのお金がなくなった、プロバイダー側​​の問題など-メインゲートウェイでさえアクセスできるが、トラフィックがそれより先に進まない状況で、通常この場合、メインゲートウェイは切り替えられません 自動Netwatch



には、 Netwatch



機能を使用する必要があります。これは、インターフェイス上のトラフィックの存在を監視し、ルールに応じてトラフィックを切り替えます。 この機能のセットアップは、3つのステージで構成されます。



4.1。 スイッチスクリプトを作成する


System — Scripts



移動しSystem — Scripts



ISP1-DOWN, ISP1-UP, ISP2-DOWN, ISP2-UP



という名前の4つのスクリプトを作成します。 すべてのスクリプトに最大の許可を与えます。

スクリプトの内容
ISP1-DOWN:

 /ip route disable [find dst-address=0.0.0.0/0 and gateway=11.11.11.11 and distance >=4];
      
      





ISP1-UP:

 /ip route enable [find dst-address=0.0.0.0/0 and gateway=11.11.11.11 and distance >= 4];
      
      





ISP2-DOWN:

 /ip route disable [find dst-address=0.0.0.0/0 and gateway=22.22.22.22 and distance >=3];
      
      





ISP2-UP:

 /ip route enable [find dst-address=0.0.0.0/0 and gateway=22.22.22.22 and distance >=3];
      
      







4.2。 Netwatchルールを作成する


[ Tools — Netwatch



移動しTools — Netwatch





新しいルールを作成します。



 host: 8.8.4.4 Interval: 00:00:10 timeout: 1000ms Up: ISP2-UP Down: ISP2-DOWN   : host: 8.8.8.8 Interval: 00:00:10 timeout: 1000ms Up: ISP1-UP Down: ISP1-DOWN
      
      





写真








4.3。 永続的な独立ルートを作成します



各ホスト(8.8.8.8および8.8.4.4)に対して、異なるゲートウェイ(11.11.11.11および22.22.22.22)を通る距離を短縮した一意のルートを規定します。







外部インターフェイスの1つで論理(非物理)リンクをnetwatch



ことnetwatch



netwatch



の動作を確認できます。 私の会社はこれにマネージドスイッチを使用し、隣接していないルーターポートを消滅させました。 したがって、ホスト8.8.8.8へのpingは中断されましたが、物理リンクはアクティブでした。 pingが停止した後、Netwatchは必要なルートを出力し、内部ネットワークはバックアップインターフェイスを介してインターネットにアクセスしました。



5. NATを作成する



IP — Firewall



に移動し、 NAT



タブに移動します

外部インターフェイスごとに2つのルールを作成します。

 Chain: srcnat Out-Interface:     Action: masquerade
      
      





写真




ルーターの内部インターフェイスに接続されたコンピューターからインターネット上のサイトの1つにpingを送信することにより、NATを確認できます。 ルーターで2つのNATルールのいずれかを無効にすると、インターネット上の選択したホストへのトレースがどのように変化するかを確認できます。



6. VPNサーバーを作成する



6.1。 必要なIPアドレスのプールを作成します。


会社のネットワークでは、192.168.160.2 / 22サブネットを使用することが決定されました。クライアントのアドレス指定は192.168.170.2から始まり、ゲートウェイアドレス(ルーター自体の)192.168.170.1

IP — Pool



vpn-pool



入り、192.168.170.2-192.168.171.254の範囲で新しいvpn-pool



を作成します。



6.2。 PPTPサーバーの電源を入れます


[ PPP



]メニュー項目に移動し、[ Interfaces



]タブに[ PPTP Server



]ボタンがあります。 daws Enabled, mschap2



Enabled, mschap2



Default Profile: default-encoding



を選択します。





6.3。 暗号化を構成する


[ PPP Profile



]タブに移動します。 [ General



]タブで、 Local Address: 192.168.170.1



Remote Address: vpn-pool



。 [ Protocols



]タブの[ Use Encryption



Use Encryption



]オプションで、回答オプションを[ Yes



]に設定します。



6.4。 アカウントを作成する


[ Secrets



]タブに移動します。 ユーザーを作成します。

 Name:   Password:   Service: any Profile: default-encryption Local Address: 192.168.170.1 Remote Address: ,  ,   ,   vpn-pool.    ,    VPN    .
      
      





写真




6.5。 バッチアカウント作成


シークレット(アカウント)VPNのバッチ作成には、スクリプトを使用できます。

[ System — Scripts



]に移動し、[新しいSystem — Scripts



作成]をクリックして、そこに必要なスクリプトテキストを貼り付ける必要があります。





スクリプトテキスト
 :global content [/file get [/file find name=vpnusers.txt] contents] ; :global contentLen [ :len $content ] ; :global lineEnd 0; :global line ""; :global lastEnd 0; :do { :set lineEnd [:find $content "\r\n" $lastEnd ] ; :set line [:pick $content $lastEnd $lineEnd] ; :set lastEnd ( $lineEnd + 2 ) ; :local tmpArray [:toarray $line] ; :if ( [:pick $tmpArray 0] != "" ) do={ :put $tmpArray; /ppp secret add name=[:pick $tmpArray 0] password=[:pick $tmpArray 1] \ local-address=[:pick $tmpArray 2] remote-address=[:pick $tmpArray 3] \ profile=[:pick $tmpArray 4] service=[:pick $tmpArray 5]; } } while ($lineEnd < $contentLen)
      
      







スクリプトを作成したら、次の構文に従うファイルを作成します。



,,IP_,IP_,_,







完成したファイルは次のようになります




最後の行は空であることに注意してください。 空のままにしない場合、最後に入力された行は処理されません。

次に、[ Files



]メニュー項目を開きます。 作成されたファイルは、マウスを使用して結果のウィンドウにドラッグする必要があります。 ファイルはvpnusers.txt



と呼ばれる必要があります。そうしないと、スクリプトは機能しません。

これらの準備が完了したら、[ System — Scripts



[ Run Script



]に移動し、必要なスクリプトをマウスで選択して[ Run Script



]をクリックしRun Script











スクリプトの結果、 PPP — Secrets



に追加されたアカウントが表示されます







7. SSTPを構成する



SSTPを使用するには、証明書が必要です。 OpenVPNスナップインによって発行された自己署名証明書を使用しました 。 証明書を取得するために、すべてのコンポーネントをインストールする必要はありません
スクリーンショットだけで十分です






次に、cmdを管理者として実行し、 c:\Program Files\OpenVPN\easy-rsa\



ディレクトリ(または64ビットWindowsに32ビットバージョンのOpenVPNをインストールした場合はProgram Files (x86)



)に移動します。 編集のためにvars.bat



ファイルを開きます。 そうでない場合は、 vars.bat.sample



名前をvars.bat.sample



に変更し、次の形式にします。

vars.bat
 @echo off rem Edit this variable to point to rem the openssl.cnf file included rem with easy-rsa. set HOME=%ProgramFiles%\OpenVPN\easy-rsa set KEY_CONFIG=openssl-1.0.0.cnf rem Edit this variable to point to rem your soon-to-be-created key rem directory. rem rem WARNING: clean-all will do rem a rm -rf on this directory rem so make sure you define rem it correctly! set KEY_DIR=keys rem Increase this to 2048 if you rem are paranoid. This will slow rem down TLS negotiation performance rem as well as the one-time DH parms rem generation process. set KEY_SIZE=1024 rem These are the default values for fields rem which will be placed in the certificate. rem Change these to reflect your site. rem Don't leave any of these parms blank. set KEY_COUNTRY=RU set KEY_PROVINCE=Nsk set KEY_CITY=Novosibirsk set KEY_ORG=Escort set KEY_EMAIL=i_nichupienko@soft-escort.ru set KEY_CN=87.245.176.183 set KEY_NAME=temp_nie set KEY_OU=changeme set PKCS11_MODULE_PATH=changeme set PKCS11_PIN=1234
      
      







さらに、便宜上、 build-ca.bat



を編集しました。

build-ca.bat
 @echo off cd %HOME% rem build a cert authority valid for ten years, starting now "c:\Program Files\OpenVPN\bin\openssl.exe" req -days 3650 -nodes -new -x509 -keyout %KEY_DIR%\%1.key -out %KEY_DIR%\%1.crt -config %KEY_CONFIG%
      
      







その後、次の順序で実行します。



 c:\Program Files\OpenVPN\easy-rsa>vars.bat c:\Program Files\OpenVPN\easy-rsa>clean-all.bat c:\Program Files\OpenVPN\easy-rsa>build-ca.bat newuser
      
      







最後のコマンドの質問については、単にEnterキーを押すか( vars.bat



ファイルに入力されたデータが使用されます)、新しいデータを入力できます。 一般的に、どれほど便利か。

コマンド実行




結果




Winbox



ルーターで、[ Files



]ボタンをクリックし、ドラッグアンドドロップメソッドを使用して、そこからフォルダーから結果のファイルをコピーします。







次に、 Winbox



System — Certificates



Winbox



移動しSystem — Certificates



。 [ Import



クリックして、最初に1つのファイルを選択し、次に2番目のファイルを選択します。







[ PPP — Profile



]に移動し、以前に作成したdefault-encryption



開き、[ Copy



]をクリックし、[ Protocol



]タブで[ Use Encryption



]フィールドの値を[ Yes



から[ Required



]に変更します。







プロファイル名としてSSTPprofile



SSTPprofile



します。

次に、[ System — PPP



SSTP-Server



]で[ Interface



]タブに移動し、そこで[ SSTP-Server



]ボタンをクリックします。 [ Enabled



SSTPProfile



を設定し、 Default Profile



としてSSTPProfile



を選択し、必要な証明書を指定します。 認証方法として、 mschap2



のみを選択します。







PPP



シークレット(ログイン/パスワード)を作成するときPPP



最初にサービスのタイプをAny



として指定したため、追加のものを作成する必要はありません。 接続の準備ができました。



この記事はクライアントではなくルーターのセットアップに関するものであるため、この記事ではこの証明書をさまざまなOSにインポートし、クライアントSSTP接続をセットアップする方法を検討しません。 受け取った証明書は、信頼されたルート証明機関に追加する必要があることだけに言及します。



8.主要なファイアウォールルールの設定



IP — Firewall — Filter Rules







8.1。 内部ネットワークからWinbox



経由でルーターにアクセスする


ルールを作成します。

 Chain: Input Protocol: tcp Dst.Port: 8291 In. Interface: ether3-internal Action: accept
      
      





写真




8.2。 内部ネットワークからPingアウトする


2つのルールを作成します。

 Chain: forward Protocol: icmp Out. Interface: ether1-gateway1  ether2-gateway2 (    , ..       .    ,   2) Action: accept
      
      





写真






8.3。 VPNから内部ネットワークにPing


 Chain: forward Protocol: icmp Src.Address: 192.168.170.0/24 Dst.Address: 192.168.0.0/22 Action: accept
      
      





写真




8.4。 VPNから内部ネットワークへのRDPアクセス


 Chain: forward Protocol: tcp Src.Address: 192.168.170.0/24 Dst.Address: 192.168.0.0/22 Dst.Port: 3389 Action: accept
      
      





写真




9.マシン192.168.2.82のポート80の公開



IP — Firewall — NAT



移動

 Chain: dstnat Protocol: tcp Dst.Port: 80 In.Interface: ether1-gateway1 ( ether2-gateway2      ) Action: netmap To Addresses: 192.168.2.82 To Ports: 80
      
      





写真




10.マシン192.168.2.82のポート3389をVPNに公開する



このルールは、クライアントマシンでルーティングを使用せずにアクセスを作成するために必要です。 2.82マシンには追加のIP-:



あります。VPNクライアントと同じサブネットセグメントのIP-:



です。

IP — Firewall — NAT



移動

 Chain: dstnat Dst.Address: 192.168.170.82 Protocol: tcp Dst.Port: 3389 Action: dst-nat To Addresses: 192.168.2.82 To Ports: 3389
      
      





写真





All Articles