This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
ubnt:ipsec_site-to-site_vpn [2019/01/31 17:44] derek |
ubnt:ipsec_site-to-site_vpn [2024/09/22 19:51] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| =====Ipsec Site-to-site Vpn===== | =====Ipsec Site-to-site Vpn===== | ||
| + | Guide to set up a site-to-site VPN between two Ubiquiti Edgerouters | ||
| - | | + | * Generate a temporary |
| - | + | * Setup vpn.site-l.com and vpn.site-r.com as CNAMEs to the root domain for the sites and use those as the peer names | |
| - | Check to make sure IPsec hardware offloading is enabled using '' | + | |
| - | Use '' | + | |
| - | + | ||
| - | | + | |
| * On each of the routers, configure the VPN as below switching the FQDN and subnets as required | * On each of the routers, configure the VPN as below switching the FQDN and subnets as required | ||
| * '' | * '' | ||
| Line 12: | Line 9: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| * '' | * '' | ||
| * '' | * '' | ||
| Line 19: | Line 16: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| * Even using the '' | * Even using the '' | ||
| Line 26: | Line 23: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| * '' | * '' | ||
| - | * FIXME: TODO Change from pre-shared key to certificate-based authentication. | + | * The above should give a working site-to-site VPN connection, the commands below are for extra useful features |
| + | * Run the following on each of the routers, replacing hostnames as appropriate (This shows commands for er-l): | ||
| < | < | ||
| + | # Run this generate command on each of the routers first and copy the public key to paste into the others settings | ||
| generate vpn rsa-key | generate vpn rsa-key | ||
| configure | configure | ||
| + | |||
| + | # IPsec hardware offloading | ||
| + | set system offload ipsec enable | ||
| + | |||
| + | # Use domain-specific DNS across the VPN | ||
| + | set service dns forwarding listen-on eth0 # (Or pppoe0 if using PPPoE) | ||
| + | set service dns forwarding options server=/ | ||
| + | set service dns forwarding options server=/ | ||
| + | |||
| + | # Change hashing and encryption settings | ||
| + | set vpn ipsec ike-group FOO0 proposal 1 encryption aes256 | ||
| + | set vpn ipsec ike-group FOO0 proposal 1 hash sha256 | ||
| + | set vpn ipsec ike-group FOO0 lifetime 86400 | ||
| + | |||
| + | set vpn ipsec esp-group FOO0 proposal 1 encryption aes128 | ||
| + | set vpn ipsec esp-group FOO0 proposal 1 hash md5 | ||
| + | set vpn ipsec esp-group FOO0 lifetime 43200 | ||
| + | set vpn ipsec esp-group FOO0 pfs disable | ||
| + | |||
| + | # Change IKE Key Exchange from version 1 to version 2 | ||
| + | set vpn ipsec ike-group FOO0 key-exchange ikev2 | ||
| + | |||
| + | # Enable Dead Peer Detection (DPD) | ||
| + | set vpn ipsec ike-group FOO0 dead-peer-detection action restart | ||
| + | set vpn ipsec ike-group FOO0 dead-peer-detection interval 30 | ||
| + | set vpn ipsec ike-group FOO0 dead-peer-detection timeout 120 | ||
| + | |||
| + | # Authentication IDs | ||
| + | set vpn ipsec site-to-site peer er-r.ubnt.com authentication id @er-l.ubnt.com | ||
| + | set vpn ipsec site-to-site peer er-r.ubnt.com authentication remote-id @er-r.ubnt.com | ||
| + | |||
| + | # RSA Authentication | ||
| set vpn rsa-keys local-key file / | set vpn rsa-keys local-key file / | ||
| - | set vpn rsa-keys rsa-key-name er-l rsa-key <er-l public key> | + | set vpn rsa-keys rsa-key-name er-r rsa-key <er-r public key> |
| + | |||
| + | delete vpn ipsec site-to-site peer er-r.ubnt.com authentication mode | ||
| + | delete vpn ipsec site-to-site peer er-r.ubnt.com authentication pre-shared-secret | ||
| - | delete | + | set vpn ipsec site-to-site peer er-r.ubnt.com authentication mode rsa |
| - | delete | + | set vpn ipsec site-to-site peer er-r.ubnt.com authentication |
| - | set vpn ipsec site-to-site peer er-l.ubnt.com authentication mode rsa | + | commit; save |
| - | set vpn ipsec site-to-site peer er-l.ubnt.com authentication rsa-key-name er-l | + | |
| </ | </ | ||
| Line 50: | Line 83: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * Deselect '' | + | |
| - | * Select '' | + | |
| + | * Select '' | ||
| * '' | * '' | ||
| * Or in the cli: | * Or in the cli: | ||
| < | < | ||
| configure | configure | ||
| + | # On the router with PPPoE: | ||
| + | set firewall options mss-clamp interface-type PPPoE | ||
| + | # On the router without PPPoE: | ||
| set firewall options mss-clamp interface-type all | set firewall options mss-clamp interface-type all | ||
| set firewall options mss-clamp mss 1382 | set firewall options mss-clamp mss 1382 | ||
| Line 62: | Line 99: | ||
| </ | </ | ||
| + | ===Notes: | ||
| + | * Reconnect to VPN using '' | ||
| + | * Tail (show last few lines and watch for more) the VPN logs using '' | ||
| - | * FIXME TODO: | + | * Sources: |
| - | * Get DNS across the VPN working (Possibly using DNS-views) | + | * https:// |
| - | * Change the P1 and P2 Security Associations. | + | * https:// |
| - | * Change the IKE Key Exchange from version 1 to version 2? | + | |
| - | | + | |