L2TP over IPsec RutOS: Difference between revisions
No edit summary |
|||
| Line 30: | Line 30: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2> [[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2> [[File:Create.png|right|790x790px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 49: | Line 49: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:L2tpseverconfiguration.png|right|803x803px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 55: | Line 55: | ||
<ol> | <ol> | ||
<li>'''Enable''' the L2TP instance.</li> | <li>'''Enable''' the L2TP instance.</li> | ||
<li>Select L2TP role - '''Server'''</li> | |||
<li>Enter the name of the instance</li> | |||
<li>Click on the '''Add''' button to add a new user</li> | <li>Click on the '''Add''' button to add a new user</li> | ||
<li>Enter a '''User name''' and '''Password''' for authentication for the client.</li> | <li>Enter a '''User name''' and '''Password''' for authentication for the client.</li> | ||
| Line 88: | Line 90: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:Ipsecserverconfiguration.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 103: | Line 105: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:Ipsecserverconnectionconfiguration.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style="border-bottom: 1px solid white> | <td style="border-bottom: 1px solid white> | ||
<ol> | <ol> | ||
'''3.''' Select '''Type: Transport'''. | '''3.''' | ||
Select '''Type: Transport'''. | |||
<br> | <br> | ||
'''4.''' | |||
Select '''Bind to''': '''L2TP interface''' | |||
Do not forget to '''Save''' changes. | Do not forget to '''Save''' changes. | ||
</ol> | </ol> | ||
| Line 157: | Line 163: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2> [[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2> [[File:Create.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 163: | Line 169: | ||
Login to the router's WebUI and navigate to the '''Services → VPN → L2TP''' page and do the following: | Login to the router's WebUI and navigate to the '''Services → VPN → L2TP''' page and do the following: | ||
<ol> | <ol> | ||
<li>Click on "Add" button to create a new L2TP instance</li></ol> | |||
<li>Click | |||
</ol> | |||
</td> | </td> | ||
</tr> | </tr> | ||
| Line 176: | Line 179: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:L2tpclienconfiguratoinv2.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 182: | Line 185: | ||
<ol> | <ol> | ||
<li>'''Enable''' the L2TP instance.</li> | <li>'''Enable''' the L2TP instance.</li> | ||
<li>Select '''Role''' - '''Client'''</li> | |||
<li>Enter your preferred instance name</li> | |||
<li>Enter the '''Public IP''' of RUT1</li> | <li>Enter the '''Public IP''' of RUT1</li> | ||
<li>Enter the '''Username''' that we created on RUT1</li> | <li>Enter the '''Username''' that we created on RUT1</li> | ||
| Line 215: | Line 220: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:2025-12-30 13h19 16.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
| Line 231: | Line 236: | ||
<tr> | <tr> | ||
<th width=355; style="border-bottom: 1px solid white;></th> | <th width=355; style="border-bottom: 1px solid white;></th> | ||
<th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File: | <th width=790; style="border-bottom: 1px solid white;" rowspan=2>[[File:Ipsecclientconnectionconfigurationv2.png|right|770x770px]]</th> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td style="border-bottom: 1px solid white> | <td style="border-bottom: 1px solid white> | ||
<ol> | <ol> | ||
'''4.''' Select '''Type: Transport'''. | '''4.''' | ||
Select '''Type: Transport'''. | |||
<br> | <br> | ||
'''5.''' | |||
Select '''Bind to: L2TP''' interface. | |||
<br> | |||
Do not forget to '''Save''' changes. | Do not forget to '''Save''' changes. | ||
</ol> | </ol> | ||
| Line 284: | Line 297: | ||
To test an L2TP connection, login to one of the routers' WebUIs and go to '''Services → CLI'''. Login with user name: '''root''' and the router's admin password. You should then be able to '''ping''' the opposite instance, i.e., if you logged in to the server's CLI, you should be able to ping the client's virtual IP address, and vice versa. To use a ping command, type '''ping <ip_address>''' and press the "Enter" key on your keyboard: | To test an L2TP connection, login to one of the routers' WebUIs and go to '''Services → CLI'''. Login with user name: '''root''' and the router's admin password. You should then be able to '''ping''' the opposite instance, i.e., if you logged in to the server's CLI, you should be able to ping the client's virtual IP address, and vice versa. To use a ping command, type '''ping <ip_address>''' and press the "Enter" key on your keyboard: | ||
[[File: | [[File:2025-12-30 14h19 18.png|border|500x500px]] | ||
---- | ---- | ||
Use the <code><span class="highlight">'''swanctl -l'''</span></code> command to retrieve IPsec status output. With this commands we can see that the IPsec tunnel is successfully established on RUT router. The command output on a '''RUT''' device: | |||
[[File: | [[File:2025-12-30 14h18 04.png|border]] | ||
If the ping requests are successful and ipsec status shows information, congratulations, your setup works! If not, we suggest that you review all steps once more. | If the ping requests are successful and ipsec status shows information, congratulations, your setup works! If not, we suggest that you review all steps once more. | ||
Revision as of 14:21, 30 December 2025
Main Page > General Information > Configuration Examples > VPN > L2TP over IPsec RutOSIntroduction
Because of the lack of confidentiality inherent in the Layer 2 Networking Protocol (L2TP) protocol, Internet Protocol Security (IPsec) is often used to secure L2TP packets by providing confidentiality, authentication and integrity. The combination of these two protocols is generally known as L2TP over IPsec (or simply L2TP/IPsec).
This article provides a guide on how to configure L2TP/IPsec on RUTxxx routers. It should also be noted that this guide is aimed at more advanced users and, therefore, skips some of the more self-explanatory steps in order to preserve the overall coherence of the article. For example, instead of showing how to add new instances step by step, it is only mentioned in a short sentence. If you feel this lack of information impedes your ability to configure the setup, we suggest you check out our separate configuration guides on IPsec and L2TP for reference.
Configuration overview and prerequisites
Before we begin, let's overview the configuration that we are attempting to achieve and the prerequisites that make it possible.
Prerequisites:
- Two RUTxxx routers of any type
- At least one router with a Public Static or Public Dynamic IP addresses
- At least one end device (PC, Laptop, Tablet, Smartphone) to configure the routers
Configuration scheme:
The figure above depicts the L2TP/IPsec scheme. It is fairly similar to the L2TP and IPsec configuration schemes - the router with the Public IP address (RUT1) acts as the L2TP/IPsec server and the other router (RUT2) acts a client. L2TP connects the networks of RUT1 and RUT2 and IPsec provides the encryption for the L2TP tunnel.
When the scheme is realized, L2TP packets between the endpoints are encapsulated by IPsec. Since the L2TP packet itself is wrapped and hidden within the IPsec packet, the original source and destination IP address is encrypted within the packet.
RUT1 Configuration(Server)
As mentioned in the prerequisites section, the router that acts as the server must have a Public Static or Public Dynamic IP address (more information on the subject can be found here). If that is in order, we should start configuring the server.
L2TP
IPsec
|
Go to the Services → VPN → IPsec page and do the following:
|
|
In the IPsec Configuration page, do the following (and leave the rest as defaults, unless your specific configuration requires otherwise):
|
4. Select Bind to: L2TP interface Do not forget to Save changes. |
Note: This is only an example of a secure configuration. Other algorithms or even combinations of them could be used. However, we strongly recommend refraining from using older encryption and hashing algorithms unless support for certain legacy systems is required.
Make the following changes:
![]() |
|
|---|---|
|
![]() |
|
|---|---|
|
RUT2 Configuration(client)
Now let's configure the L2TP/IPsec Client.
L2TP
| |
|
|---|---|
|
Login to the router's WebUI and navigate to the Services → VPN → L2TP page and do the following:
|
IPsec
|
Go to the Services → VPN → IPsec page and do the following:
|
5. Select Bind to: L2TP interface. Do not forget to Save changes. |
Note: This is only an example of a secure configuration. Other algorithms or even combinations of them could be used. However, we strongly recommend refraining from using older encryption and hashing algorithms unless support for certain legacy systems is required.
Make the following changes:
![]() |
|
|---|---|
|
![]() |
|
|---|---|
|
Testing the setup
If you've followed all the steps presented above, your configuration should be finished. But as with any other configuration, it is always wise to test the setup in order to make sure that it works properly.
To test an L2TP connection, login to one of the routers' WebUIs and go to Services → CLI. Login with user name: root and the router's admin password. You should then be able to ping the opposite instance, i.e., if you logged in to the server's CLI, you should be able to ping the client's virtual IP address, and vice versa. To use a ping command, type ping <ip_address> and press the "Enter" key on your keyboard:
Use the swanctl -l command to retrieve IPsec status output. With this commands we can see that the IPsec tunnel is successfully established on RUT router. The command output on a RUT device:
If the ping requests are successful and ipsec status shows information, congratulations, your setup works! If not, we suggest that you review all steps once more.
See also
- Other types of VPNs suported by RUTxxx devices:












