Я пытаюсь настроить правило nftables для перенаправления трафика с моего сервера в контейнер LXC, однако способ, которым модуль состояния соли для dport
отображает данное значение не принимается nftables. Как мне продолжить?
Конфигурация соли:
kevin-container-web-port-http:
nftables.append:
- family: ip
- table: nat
- chain: PREROUTING
- priority: 100
- iif: eth0
- dport: '80, 443'
- proto: tcp
- to: '10.0.3.32'
- jump: dnat
Выход из state.apply
:
ID: kevin-container-web-port-http
Function: nftables.append
Result: False
Comment: Failed to set nftables rule for kevin-container-web-port-http.
Attempted rule was tcp dport { 80, 443 } dnat for ip.
Failed to add rule "tcp dport { 80, 443 } dnat" chain PREROUTING in table nat in family ip.
Started: 17:36:42.821866
Duration: 154.261 ms
Changes:
При попытке добавить правило вручную:
$ nft add rule nat prerouting iif eth0 tcp dport 80 dnat 10.0.3.32
$ nft list table nat
table ip nat {
chain PREROUTING {
type nat hook prerouting priority -100; policy accept;
iif "eth0" tcp dport { http, https } dnat to 10.0.3.32
}
...
}
Внимательно прочитав справочные страницы по nftables, я решил попробовать добавить поле to в аргумент перехода. Конфигурация работает со следующей настройкой:
kevin-container-web-port-http:
nftables.append:
- family: ip
- table: nat
- chain: PREROUTING
- iif: eth0
- dport: 80
- proto: tcp
- jump: dnat to 10.0.3.32:80