Этот вопрос касается настройки ретранслятора WireGuard, который направляет весь трафик своего однорангового узла на другой сервер WireGuard, но сам ретранслятор не использует этот сервер WireGuard в качестве шлюза по умолчанию.
Я занимаюсь самостоятельным хостингом. В настоящее время моя сеть состоит из трех узлов, шлюза, сервера ownCloud и моего мобильного телефона.
Эти узлы соединены в сетку. Шлюз размещается на VPS, и мобильный телефон будет использовать его для доступа в Интернет.
Все работает. Но проблема возникает, когда я добавляю узел Windows в эту сеть, потому что функция отключения Windows-клиента WireGuard требует, чтобы в конфигурации был только один одноранговый узел, а разрешенный IP-адрес — 0.0.0.0/0.
Из соображений безопасности я не хочу, чтобы VPS располагался между узлом Windows и сервером ownCloud, поэтому маршрут должен быть таким:
Узел Windows -> сервер ownCloud -> Шлюз -> Интернет
Кроме того, сервер ownCloud будет выполнять ежечасное резервное копирование. Я не хочу, чтобы этот трафик направлялся на шлюз из-за скорости.
Я пробовал маршрутизацию на основе политик около нескольких часов, но до сих пор не могу заставить ее работать. Может ли кто-нибудь помочь? Спасибо. Ниже приведены рабочие конфигурации.
Шлюз
WG0
[Интерфейс]
Адрес = 10.0.0.1/32
Порт прослушивания = 51820
[Вглядеться]
PublicKey = (открытый ключ сервера ownCloud)
Разрешенные IP-адреса = 10.0.0.2/32
[Вглядеться]
PublicKey = (открытый ключ мобильного телефона)
Разрешенные IP-адреса = 10.0.0.3/32
nftables
посттрассировка цепи {
введите nat hook приоритет постмаршрутизации srcnat;
ip saddr 10.0.0.0/24 или маскарад eth0
}
цепочка вперед {
тип фильтра перехвата приоритета фильтра; падение политики;
состояние ct установлено, связанное с принятием
ip саддр 10.0.0.0/24 принять
}
сервер ownCloud
[Интерфейс]
Адрес = 10.0.0.2/32
Порт прослушивания = 51820
[Вглядеться]
PublicKey = (открытый ключ шлюза)
Конечная точка = $gateway_ip_address:51820
Разрешенные IP-адреса = 10.0.0.1/32
ПостоянныйKeepalive = 25
[Вглядеться]
PublicKey = (открытый ключ мобильного телефона)
Разрешенные IP-адреса = 10.0.0.3/32
ПостоянныйKeepalive = 25
Мобильный
[Интерфейс]
Адрес = 10.0.0.3/32
Порт прослушивания = 51820
DNS = 10.0.0.2
[Вглядеться]
PublicKey = (открытый ключ шлюза)
Конечная точка = $gateway_ip_address:51820
Разрешенные IP-адреса = 0.0.0.0/0
ПостоянныйKeepalive = 25
[Вглядеться]
PublicKey = (открытый ключ сервера ownCloud)
Конечная точка = (доменное имя сервера ownCloud): 51820
Разрешенные IP-адреса = 10.0.0.2/32
ПостоянныйKeepalive = 25