У меня были проблемы с настройкой этого на iOS и Mac. Ниже перечислил возникавшие сложности, вдруг кому пригодится.
Проблемы:
1. Настройка VPN конфликтовала с уже существующим VPN, который я пробовал раньше. По умолчанию в текущих стабильных версиях контроллера настраивается radius и pptp VPN (pptp теперь отключен в iOS 10).
Ответ: Удалите все существующие удалённые VPN-подключения в интерфейсе контроллера и заново примените конфигурацию.
2. Freeradius на моём Raspberry Pi быстро стал слишком сложным из-за требований к паролям MSCHAP.
Ответ: Терпеливо разберитесь с настройкой MSCHAP или настройте локальных пользователей.
3. После подключения мои удалённые устройства не могли выйти в интернет через VPN.
Ответ: Настройте MASQ nat конфигурацию, как указано ранее:
"nat": {
"rule": {
"5010": {
"description": "Masquerade_for_WAN",
"outbound-interface": "eth2",
"type": "masquerade"
}
}
}
4. Для корректной работы в конфигурации нужно указать внешний IP-адрес.
Ответ: Пока не знаю, как сделать это динамическим.
5. Настройка iOS
Настраивайте VPN как L2TP, логин — это имя пользователя, пароль — пароль пользователя, shared secret — общий ключ. Отметьте галочку «отправлять весь трафик через VPN».
Полный список настроек ниже:
{
"service": {
"upnp2": {
"listen-on": [
"eth0"
],
"nat-pmp": "enable",
"secure-mode": "enable",
"wan": "eth2"
},
"nat": {
"rule": {
"5010": {
"description": "Masquerade_for_WAN",
"outbound-interface": "eth2",
"type": "masquerade"
}
}
}
},
"firewall": {
"name": {
"WAN_LOCAL": {
"rule": {
"3": {
"action": "accept",
"description": "Allow L2TP",
"destination": {
"port": "500,1701,4500"
},
"protocol": "udp"
},
"4": {
"action": "accept",
"description": "Allow ESP",
"protocol": "esp"
}
}
}
}
},
"vpn": {
"ipsec": {
"auto-firewall-nat-exclude": "enable",
"ipsec-interfaces": {
"interface": [
"eth2"
]
},
"nat-networks": {
"allowed-network": {
"0.0.0.0/0": "''"
}
},
"nat-traversal": "enable"
},
"l2tp": {
"remote-access": {
"authentication": {
"local-users": {
"username": {
"********** USER1 LOGIN *********": {
"password": "********* USER1 PASS ********"
},
"********* USER2 LOGIN **********": {
"password": "********** USER2 PASS *********"
}
}
},
"mode": "local"
},
"client-ip-pool": {
"start": "192.168.13.2",
"stop": "192.168.13.7"
},
"dns-servers": {
"server-1": "192.168.13.1",
"server-2": "192.168.1.1"
},
"ipsec-settings": {
"authentication": {
"mode": "pre-shared-secret",
"pre-shared-secret": "********* SHARED SECRET REPLACE ME *****"
},
"ike-lifetime": "3600"
},
"mtu": "1492",
"outside-address": "******** IP ADDRESS ASSIGNED BY ISP. GOOGLE WHATS MY IP ********"
}
}
}
}
Надеюсь, это поможет. Если кто-то знает, как лучше сделать настройку с динамическим внешним IP — опубликуйте, пожалуйста.