summaryrefslogtreecommitdiff
path: root/docs/interfaces
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-05-21 17:39:25 +0200
committerChristian Poessinger <christian@poessinger.com>2020-05-21 17:39:25 +0200
commitbc3f509ccb739199ce8d1e86e7f9026df3c71f8e (patch)
treed1309c3f6d059a5ddea88a2f0f1fc168d9ea2e9e /docs/interfaces
parent361391385ab6d37ce6b699eb6ed8368355fd345f (diff)
downloadvyos-documentation-bc3f509ccb739199ce8d1e86e7f9026df3c71f8e.tar.gz
vyos-documentation-bc3f509ccb739199ce8d1e86e7f9026df3c71f8e.zip
macsec: add example
Diffstat (limited to 'docs/interfaces')
-rw-r--r--docs/interfaces/macsec.rst94
1 files changed, 92 insertions, 2 deletions
diff --git a/docs/interfaces/macsec.rst b/docs/interfaces/macsec.rst
index 8da7a4d3..3c7645ea 100644
--- a/docs/interfaces/macsec.rst
+++ b/docs/interfaces/macsec.rst
@@ -38,18 +38,45 @@ Configuration
Key Management
--------------
-.. cfgcmd:: set interfaces macsec <interface> security key cak <key>
+:abbr:`MKA (MACsec Key Agreement protocol)` is used to synchronize keys between
+individual peers.
+
+.. cfgcmd:: set interfaces macsec <interface> security mka cak <key>
IEEE 802.1X/MACsec pre-shared key mode. This allows to configure MACsec with
a pre-shared key using a (CAK,CKN) pair.
-.. cfgcmd:: set interfaces macsec <interface> security key ckn <key>
+.. cfgcmd:: set interfaces macsec <interface> security mka ckn <key>
CAK Name
+.. cfgcmd:: set interfaces macsec <interface> security mka priority <priority>
+
+ The peer with lower priority will become the key server and start
+ distributing SAKs.
+
Operation
=========
+.. opcmd:: run generate macsec mka-cak
+
+ Generate :abbr:`MKA (MACsec Key Agreement protocol)` CAK key
+
+ .. code-block:: none
+
+ vyos@vyos:~$ generate macsec mka-cak
+ 20693b6e08bfa482703a563898c9e3ad
+
+
+.. opcmd:: run generate macsec mka-ckn
+
+ Generate :abbr:`MKA (MACsec Key Agreement protocol)` CAK key
+
+ .. code-block:: none
+
+ vyos@vyos:~$ generate macsec mka-ckn
+ 88737efef314ee319b2cbf30210a5f164957d884672c143aefdc0f5f6bc49eb2
+
.. opcmd:: show interfaces macsec
List all MACsec interfaces
@@ -75,3 +102,66 @@ Operation
cipher suite: GCM-AES-128, using ICV length 16
TXSC: 005056bfefaa0001 on SA 0
+Examples
+========
+
+* Two routers connected both via eth1 through an untrusted switch
+* R1 has 192.0.2.1/24 & 2001:db8::1/64
+* R2 has 192.0.2.2/24 & 2001:db8::2/64
+
+**R1**
+
+.. code-block:: none
+
+ set interfaces macsec macsec1 address '192.0.2.1/24'
+ set interfaces macsec macsec1 address '2001:db8::1/64'
+ set interfaces macsec macsec1 security cipher 'gcm-aes-128'
+ set interfaces macsec macsec1 security encrypt
+ set interfaces macsec macsec1 security mka cak '232e44b7fda6f8e2d88a07bf78a7aff4'
+ set interfaces macsec macsec1 security mka ckn '40916f4b23e3d548ad27eedd2d10c6f98c2d21684699647d63d41b500dfe8836'
+ set interfaces macsec macsec1 source-interface 'eth1'
+
+**R1**
+
+.. code-block:: none
+
+ set interfaces macsec macsec1 address '192.0.2.2/24'
+ set interfaces macsec macsec1 address '2001:db8::2/64'
+ set interfaces macsec macsec1 security cipher 'gcm-aes-128'
+ set interfaces macsec macsec1 security encrypt
+ set interfaces macsec macsec1 security mka cak '232e44b7fda6f8e2d88a07bf78a7aff4'
+ set interfaces macsec macsec1 security mka ckn '40916f4b23e3d548ad27eedd2d10c6f98c2d21684699647d63d41b500dfe8836'
+ set interfaces macsec macsec1 source-interface 'eth1'
+
+Pinging (IPv6) the other host and intercepting the traffic in ``eth1`` will
+show you the content is encrypted.
+
+.. code-block:: none
+
+ 17:35:44.586668 00:50:56:bf:ef:aa > 00:50:56:b3:ad:d6, ethertype Unknown (0x88e5), length 150:
+ 0x0000: 2c00 0000 000a 0050 56bf efaa 0001 d9fb ,......PV.......
+ 0x0010: 920a 8b8d 68ed 9609 29dd e767 25a4 4466 ....h...)..g%.Df
+ 0x0020: 5293 487b 9990 8517 3b15 22c7 ea5c ac83 R.H{....;."..\..
+ 0x0030: 4c6e 13cf 0743 f917 2c4e 694e 87d1 0f09 Ln...C..,NiN....
+ 0x0040: 0f77 5d53 ed75 cfe1 54df 0e5a c766 93cb .w]S.u..T..Z.f..
+ 0x0050: c4f2 6e23 f200 6dfe 3216 c858 dcaa a73b ..n#..m.2..X...;
+ 0x0060: 4dd1 9358 d9e4 ed0e 072f 1acc 31c4 f669 M..X...../..1..i
+ 0x0070: e93a 9f38 8a62 17c6 2857 6ac5 ec11 8b0e .:.8.b..(Wj.....
+ 0x0080: 6b30 92a5 7ccc 720b k0..|.r.
+
+Disabling the encryption on the link by removing ``security encrypt`` will show
+the unencrypted but authenticated content.
+
+.. code-block:: none
+
+ 17:37:00.746155 00:50:56:bf:ef:aa > 00:50:56:b3:ad:d6, ethertype Unknown (0x88e5), length 150:
+ 0x0000: 2000 0000 0009 0050 56bf efaa 0001 86dd .......PV.......
+ 0x0010: 6009 86f3 0040 3a40 2001 0db8 0000 0000 `....@:@........
+ 0x0020: 0000 0000 0000 0001 2001 0db8 0000 0000 ................
+ 0x0030: 0000 0000 0000 0002 8100 d977 0f30 0003 ...........w.0..
+ 0x0040: 1ca0 c65e 0000 0000 8d93 0b00 0000 0000 ...^............
+ 0x0050: 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f ................
+ 0x0060: 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f .!"#$%&'()*+,-./
+ 0x0070: 3031 3233 3435 3637 87d5 eed3 3a39 d52b 01234567....:9.+
+ 0x0080: a282 c842 5254 ef28 ...BRT.(
+