Вероятно, вам следует начать с использования Таблица=выкл.
в wg-quick conf как на S, так и на P. Значение Разрешенные IP-адреса =
тогда не вызовет изменения маршрутов/политик правил маршрутизации на них.
РЕДАКТИРОВАТЬ: На самом деле все должно быть хорошо, чтобы уйти Таблица=
нетронутый на P, если вам не нужно Разрешенные IP-адреса =
S на нем быть 0.0.0.0/0
вместо 192.168.60.0/24
по некоторым причинам, т.е. нужно, чтобы трафик исходил из самого себя для маршрутизации S. Вам не нужно возиться с маршрутами и правилами маршрутизации на P самостоятельно, поскольку даже префикс в Адрес=192.168.60.2/24
должен настроить необходимый маршрут. Следующий абзац, вероятно, не относится к тому, что вам нужно, хотя он может дать вам некоторые дополнительные сведения о том, как все работает.
И вам, вероятно, следует использовать дополнительную IP-подсеть для С и П, например 192.168.59.0/30
. Это избавит вас от хлопот, связанных с необходимостью дополнительного правила IP. Не забудьте добавить маршрут подсети для 192.168.60.0/24
на P хотя, как и с Таблица=выкл.
, ядро будет добавлять только префиксные маршруты для префикса(ов) в Адрес=
поле(я). Используйте с пользой PostUp=
(и PreDown=
) кстати.
Я не предполагаю, что вы хотите направлять трафик, который исходит от самого S, к P, поэтому вместо этого вы, вероятно, захотите использовать следующее правило ip:
# ip rule add iif wg0 from 192.168.60.0/24 lookup 200
Если вам действительно нужно направить маршрут, например. трафика, отличного от ответов сервера ssh и wireguard на P, вы можете дополнительно иметь:
# ip правило добавить iif lo lookup 200
# ip rule add iif lo ipproto tcp sport 22 lookup main
# ip rule add iif lo ipproto udp sport 51820 lookup main
Примечание: вы не можете просто сопоставить с с 192.168.60.1
добавлено в первое правило, а два других опущены, потому что для неотвечающего трафика адрес источника часто (если не всегда) выбирается на основе выбранного маршрута — на данный момент он еще не установлен.
Обратите внимание, что порядок команды обычно определяет приоритет, поэтому убедитесь, что вы добавили правило «надмножества» перед правилами «подмножества», иначе последние будут переопределены первыми.
Также лучше держать таблица 200
пустым до тех пор, пока не будут установлены все желаемые правила, в противном случае удаленный доступ к хосту может быть отключен.
Наконец, nexthop не имеет смысла при маршруте к туннелю L3:
# ip route add default dev wg0 table 200
P.S. Убедитесь, что вы не только разрешили переадресацию IP-адресов в брандмауэре, но и включили ее с помощью sysctl.