国内のIPsecVPNでの1.5スキーム。デモのテスト





状況



C-TerraVPNバージョン4.3の3か月の試用版を受け取りました。新しいバージョンにアップグレードした後、私のエンジニアリングライフが楽になるかどうかを知りたいです。



今日では難しいことではありません。インスタントコーヒー3in1の1パケットで十分です。デモの入手方法を説明します。GRE-over-IPsecスキームとIPsec-over-GREスキームを組み合わせてみます。



デモを入手する方法







次の図から、必要なデモを取得できます。



  • 会社の住所からpresale@s-terra.ruに手紙を書いてください。
  • 手紙の中で、あなたの組織のTINを示してください。
  • 製品とその数量を一覧表示します。


デモは3か月間有効です。ベンダーは機能を制限していません。



画像を拡大



Security Gateway Demoは、仮想マシンイメージです。VMWareワークステーションを使用しています。サポートされているハイパーバイザーと仮想化環境の完全なリストは、ベンダーのWebサイトで入手できます。



アクティブな手順を開始する前に、デフォルトの仮想マシンイメージにネットワークインターフェイスがないことに注意してください







。ロジックは明確です。ユーザーは必要な数のインターフェイスを追加する必要があります。一度に4つ追加します。







次に仮想マシンを起動します。起動直後、ゲートウェイにはユーザー名とパスワードが必要です。



C-Terra Gatewayには、異なるアカウントを持つ複数のコンソールがあります。別の記事でそれらの数を数えます。それまで:

Login as: administrator

Password: s-terra


ゲートウェイを初期化しています。初期化は一連のアクションです。ライセンスの入力、生物学的ランダム番号ジェネレーターのセットアップ(キーボードシミュレーター-私の記録は27秒)、ネットワークインターフェイスマップの作成です。



ネットワークインターフェースカード。簡単になりました



バージョン4.2は、次のメッセージでアクティブユーザーに挨拶しました。アクティブユーザー(匿名エンジニアによる)は、ドキュメントなしですばやく何でも構成できるユーザーです。 インターフェイスにIPアドレスを設定しようとする前でも、問題が発生しました。それはすべてネットワークインターフェースマップに関するものです。何をする必要があった。 その結果、ネットワーク・インターフェースのマップが作成され、物理インターフェイス(0000 03.0:02)の名前のマッピングが含まれているオペレーティングシステム(eth0の)で、その論理的な名称およびCiscoのようなコンソール(FastEthernet0 / 0): インターフェースの論理的な名称はエイリアスと呼ばれています..。エイリアスは/etc/ifaliases.cfファイルに保存されます。



Starting IPsec daemon….. failed

ERROR: Could not establish connection with daemon












/bin/netifcfg enum > /home/map

/bin/netifcfg map /home/map

service networking restart








#Unique ID iface type OS name Cisco-like name



0000:02:03.0 phye eth0 FastEthernet0/0






バージョン4.3では、仮想マシンが最初に起動されたときにインターフェイスマップが自動的に作成されます。仮想マシンのネットワークインターフェイスの数を変更する場合は、インターフェイスマップを再度作成してください。



/bin/netifcfg enum > /home/map

/bin/netifcfg map /home/map

systemctl restart networking




図1:GRE-over-IPsec



2つの仮想ゲートウェイを展開し、図に示すように切り替えます。







ステップ1.IPアドレスとルートを構成します。



VG1(config) #
interface fa0/0
ip address 172.16.1.253 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.1.253 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254


VG2(config) #
interface fa0/0
ip address 172.16.1.254 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.2.254 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.253


IP接続の確認:



root@VG1:~# ping 172.16.1.254 -c 4
PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.545 ms
64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=0.657 ms
64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=0.687 ms
64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=0.273 ms

--- 172.16.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms




ステップ2.GREの構成GRE



の構成例は、公式スクリプトから抜粋したものです。/etc/network/interfaces.dディレクトリにコンテンツを含むファイルgre1を作成します。



VG1の場合:



auto gre1
iface gre1 inet static
address 1.1.1.1
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.254 local 172.16.1.253 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1


VG2の場合:



auto gre1
iface gre1 inet static
address 1.1.1.2
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.253 local 172.16.1.254 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1


システムにインターフェイスを表示します。



root@VG1:~# ifup gre1
root@VG2:~# ifup gre1


私は確かめる:



root@VG1:~# ip address show
8: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1
    link/gre 172.16.1.253 peer 172.16.1.254
    inet 1.1.1.1/30 brd 1.1.1.3 scope global gre1
       valid_lft forever preferred_lft forever

root@VG1:~# ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote 172.16.1.254 local 172.16.1.253 ttl 64 tos inherit key 1


C-Terra Gatewayには、パケットスニファ(tcpdump)が組み込まれています。トラフィックをpcapファイルにダンプします。



root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap


GREインターフェイス間でpingを実行します。



root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=0.974 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms


GREトンネルはアクティブで機能しています。







ステップ3.GREGREで暗号化する



IDのタイプをアドレスで設定します。事前定義されたキーを使用した認証(利用規約に従って、デジタル証明書を使用する必要があります):



VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254


IPsecフェーズIパラメーターを設定します。



VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2


IPsecフェーズIIのパラメーターを設定します。



VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel


暗号化用のアクセスリストを作成しています。ターゲットトラフィック-GRE:



VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254


暗号マップを作成し、それをWANインターフェイスにバインドします。



VG1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 172.16.1.253
interface fa0/0
  crypto map CMAP


VG2の場合、構成はミラーリングされます。違いは次のとおりです。



VG2(config)#
crypto isakmp key KEY address 172.16.1.253
ip access-list extended LIST
permit gre host 172.16.1.254 host 172.16.1.253
crypto map CMAP 1 ipsec-isakmp
set peer 172.16.1.254


私は確かめる:



root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcap




root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1128 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=126 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=1.12 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.077/314.271/1128.419/472.826 ms, pipe 2


ISAKMP / IPsec統計:



root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 1 (172.16.1.253,500)-(172.16.1.254,500) active 1086 1014

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 1 (172.16.1.253,*)-(172.16.1.254,*) 47 ESP tunn 480 480


GREトラフィックダンプにパケットはありません。







結論:GRE-over-IPsecスキームは正しく機能します。



図1.5:IPsec-over-GRE



ネットワークでIPsec-over-GREを使用する予定はありません。集めたいから集めます。







逆に、GRE-over-IPsecスキームを展開するには、次のものが必要です。



  • 暗号化のアクセスリストを修正します-LAN1からLAN2へ、またはその逆のトラフィックをターゲットにします。
  • GREを介してルーティングを構成します。
  • GREインターフェイスで暗号マップを切断します。


デフォルトでは、CiscoのようなゲートウェイコンソールにはGREインターフェイスがありません。オペレーティングシステムにのみ存在します。



GREインターフェースをCiscoのようなコンソールに追加します。これを行うには、/ etc /ifaliases.cfファイルを編集します。



interface (name="FastEthernet0/0" pattern="eth0")
interface (name="FastEthernet0/1" pattern="eth1")
interface (name="FastEthernet0/2" pattern="eth2")
interface (name="FastEthernet0/3" pattern="eth3")
interface (name="Tunnel0" pattern="gre1")
interface (name="default" pattern="*")


ここで、gre1はオペレーティングシステムのインターフェイス指定であり、Tunnel0はCiscoのようなコンソールのインターフェイス指定です。



ファイルのハッシュを再計算します。



root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf

SUCCESS:  Operation was successful.


これで、Tunnel0インターフェイスがCiscoのようなコンソールに表示されました。



VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400


暗号化のためのアクセスリストの修正:



VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255


GREを介したルーティングの構成:



VG1(config)#
no ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip route 192.168.3.0 255.255.255.0 1.1.1.2


Fa0 / 0からクリプトカードを削除し、GREインターフェイスにバインドします。



VG1(config)#
interface Tunnel0
crypto map CMAP


VG2についても同様です。



私は確かめる:



root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcap


root@VG1:~# ping 192.168.2.254 -I 192.168.1.253 -c 4
PING 192.168.2.254 (192.168.2.254) from 192.168.1.253 : 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=492 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=1.08 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=64 time=1.07 ms

--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.064/124.048/492.972/212.998 ms




ISAKMP / IPsec統計:



root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 2 (172.16.1.253,500)-(172.16.1.254,500) active 1094 1022

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 352 352


ESPトラフィックダンプで、GREにカプセル化されたパケット:







結論:IPsec-over-GREは正しく機能しています。



結果



一杯のコーヒーで十分でした。デモの入手方法についての説明をスケッチしました。GRE-over-IPsecを構成し、その逆に展開しました。



バージョン4.3のネットワークインターフェイスマップは自動です!私はさらにテストしています。



匿名エンジニア

t.me/anonimous_engineer



All Articles