Настройка WireGuard на маршрутизаторе с OpenWRT: Полное руководство
Настройка VPN-сервиса, такого как WireGuard, на маршрутизаторе с OpenWRT может показаться сложной задачей. Однако с правильной информацией и пошаговой инструкцией вы сможете создать безопасный туннель для доступа к своей домашней сети удаленно. В этой статье мы рассмотрим, как правильно настроить WireGuard для работы как клиента и как сервера.
Почему выбрать WireGuard?
WireGuard зарекомендовал себя как один из самых быстрых и безопасных VPN-протоколов. Его простота в настройке и великолепная производительность делают его идеальным выбором для использования на маршрутизаторах. Благодаря WireGuard вы сможете:
- Подключаться к своей домашней сети удаленно с любого устройства (телефон, ноутбук).
- Настроить туннельный трафик для нескольких IP-адресов.
Начальные шаги: Подготовка маршрутизатора
Во-первых, убедитесь, что ваш маршрутизатор поддерживает OpenWRT и WireGuard. После установки OpenWRT вы сможете начать настройку VPN. Для начала давайте посмотрим на текущую конфигурацию.
Пример текущей конфигурации
Для демонстрации, ниже представлена конфигурация сети и файрвола на вашем маршрутизаторе:
firewall.lan=zone
firewall.lan.name="lan"
firewall.lan.input="ACCEPT"
firewall.lan.output="ACCEPT"
firewall.lan.forward='ACCEPT'
firewall.lan.network="lan"
firewall.wan=zone
firewall.wan.name="wan"
firewall.wan.input="REJECT"
firewall.wan.output="ACCEPT"
firewall.wan.forward='REJECT'
firewall.wan.masq='1'
firewall.wan.mtu_fix='1'
firewall.wan.network='wan' 'wan6'
firewall.@zone[2]=zone
firewall.@zone[2].name="RemoteVPN"
firewall.@zone[2].input="REJECT"
firewall.@zone[2].output="ACCEPT"
firewall.@zone[2].forward='REJECT'
firewall.@zone[2].masq='1'
firewall.@zone[2].mtu_fix='1'
firewall.@zone[2].network='remote_network'
firewall.@forwarding[1]=forwarding
firewall.@forwarding[1].src="lan"
firewall.@forwarding[1].dest="RemoteVPN"
firewall.wg=rule
firewall.wg.name="Allow-WireGuard"
firewall.wg.src="wan"
firewall.wg.dest_port="51820"
firewall.wg.proto='udp'
firewall.wg.target="ACCEPT"
Настройка WireGuard
Далее, вам потребуется настроить интерфейсы WireGuard для работы как клиента и как сервера. Приведенные ниже блоки кода демонстрируют конфигурации для обоих направлений:
Конфигурация удаленной сети
network.remote_network=interface
network.remote_network.proto='wireguard'
network.remote_network.private_key=<redacted>
network.remote_network.listen_port="51000"
network.remote_network.addresses="10.10.10.11/32"
network.remote_network.dns="192.168.128.1"
network.@wireguard_remote_network[0]=wireguard_remote_network
network.@wireguard_remote_network[0].description='Imported peer configuration'
network.@wireguard_remote_network[0].public_key=<redacted>
network.@wireguard_remote_network[0].endpoint_host="<redacted>"
network.@wireguard_remote_network[0].endpoint_port="51000"
network.@wireguard_remote_network[0].route_allowed_ips="1"
network.@wireguard_remote_network[0].persistent_keepalive="25"
network.@wireguard_remote_network[0].allowed_ips="10.10.10.10/32" '<redacted>/32' '<redacted>/128'
Конфигурация домашней сети
network.HomeNetworkVPN=interface
network.HomeNetworkVPN.proto='wireguard'
network.HomeNetworkVPN.private_key='<redacted>'
network.HomeNetworkVPN.listen_port="51820"
network.HomeNetworkVPN.addresses="192.168.9.1/24"
network.wgclient=wireguard_HomeNetworkVPN
network.wgclient.public_key=<redacted>
network.wgclient.preshared_key='<redacted>'
network.wgclient.allowed_ips="192.168.9.2/32"
Проблемы с одновременной работой
Согласно вашему опыту, вы можете успешно настроить туннель к удаленному серверу или отдельному сетевому интерфейсу WireGuard, но не можете реализовать их совместную работу. Это может быть вызвано неправильной конфигурацией правил файрвола.
В строке кода:
uci add_list firewall.lan.network="${VPN_IF}"
вам нужно убедиться, что использован правильный интерфейс VPN и не блокируются нужные соединения. Попробуйте протестировать конфигурацию, исключив проблемные параметры.
Заключение
Настройка WireGuard на маршрутизаторе с OpenWRT обеспечивает безопасный доступ к вашей домашней сети. Придерживаясь этой инструкции и тщательно настраивая конфигурации, вы сможете добиться желаемого результата. Если возникнут проблемы, проверьте настройки файрвола и правила маршрутизации, чтобы все узлы работали корректно.