Рейтинг:0

NAT с маскарадом на разных интерфейсах, которые обращаются к другой сети с помощью Nftables

флаг br

У меня есть сервер, который подключен к двум сетям:

  • 10.0.0.0/24 через интерфейс wlan0
  • 192.168.1.0/24 через интерфейс eth0

Я хочу настроить Wireguard VPN, чтобы обе сеть, доступная извне. Я активировал переадресацию IP в своей конфигурации (с помощью sysctl). Теперь мне нужно настроить NAT, чтобы направлять мои запросы с VPN-сервера через две локальные сети. Я использую nftables для настройки NAT.

Моя проблема в том, что для машины только с одним интерфейсом я бы использовал следующую конфигурацию:

IP-адрес таблицы {
    предварительная маршрутизация цепи {
        введите приоритет предварительной маршрутизации nat hook 0;
    }
    посттрассировка цепи {
        тип nat hook postrouting приоритет 100;
        ip saddr 10.2.0.0/24 oifname eth0 masquerade
    }
}

Но здесь я не хочу маршрутизировать все через eth0, я хочу специально маршрутизировать все, что предназначено для 10.0.0.0/24, через wlan0 и все, что предназначено для 192.168.1.0/24, через eth0. Как я могу добиться этого с помощью nftables?

Рейтинг:0
флаг br

В конце концов я нашел ответ сам, так вот как это сделать: вы должны использовать ip пападр параметр для фильтрации по адресу назначения. Мой окончательный набор правил следующий:

IP-адрес таблицы {

        цепь PREROUTING {
            type nat hook prerouting фильтр приоритета; политика принять;
        }
    
        цепочка РАЗМЕЩЕНИЕ {
            введите nat hook приоритет постмаршрутизации srcnat; политика принять;
            ip saddr 10.2.0.0/24 ip daddr 192.168.0.0/16 oifname "eth0" маскарад
            ip saddr 10.2.0.0/24 ip saddr 10.0.0.0/24 oifname "wlan0" маскарад
        }
}

Это работает отлично.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.