Рейтинг:0

nftables работает с исходным IP

флаг in

У меня есть сервер в центре обработки данных, который является сервером Proxmox. На сервере (один из многих, они находятся в кластере Proxmox) я размещаю различные виртуальные машины.

Службы на виртуальных машинах доступны через iptables (с использованием ufw), как в следующем примере:

-A PREROUTING -i eno1 -p tcp -d <public_ip> --dport 21 -j DNAT --to-destination <local_ip>:<port>
-A PREROUTING -i eno1 -p tcp -d <public_ip> --dport 23 -j DNAT --to-destination <local_ip>:<port>
-A PREROUTING -i eno1 -p tcp -d <публичный_ip> --dport 10090:10100 -j DNAT --to-destination <локальный_ip>:<порт>

Виртуальные машины подключены с помощью виртуального моста, как в документации по состояниям Proxmox. (Документы Proxmox)Это работает. Однако есть один минус. ВМ не получает исходный IP-адрес подключающейся стороны. Это дает мне ограниченные возможности для IP-фильтрации, регистрации на различных других виртуальных машинах.

Теперь я ищу аналогичное решение для nftables (которое заменит или заменит iptables).

Есть ли способ настроить правила natting или переадресации, которые позволят исходному IP-адресу отправляться на виртуальную машину?

Рейтинг:1
флаг us

Вы можете сделать те же самые правила в nftables следующим образом:

таблица инет физ {
    предварительная маршрутизация цепи {
        type nat hook prerouting priority dstnat;
        iif eno1 ip saddr { <public_ip> } tcp dport 21 dnat <local_ip>:<port>
        iif eno1 ip saddr { <public_ip> } tcp dport 23 dnat <local_ip>:<port>
        iif eno1 ip saddr { <public_ip> } tcp dport 10090-10100 dnat <local_ip>:<port>
    }
}

Хотя Destination NAT не перезаписывает IP-адрес источника, поэтому вы должны увидеть реальный IP-адрес источника. Если вы не можете этого сделать, возможно, у вас есть исходное правило NAT в таблице NAT после маршрутизации, которое вы хотите удалить. Вы можете проверить это с помощью iptables -t физ -L.

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

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