Раньше я не использовал iptables, кроме выполнения заранее подготовленных инструкций, поэтому ожидаю, что упустил из виду что-то базовое!
Я применил приведенное ниже правило, но при попытке найти его нет в списке и работает не так, как ожидалось.
sudo iptables -t nat -A OUTPUT -p tcp --dport 21 -j DNAT --to-destination :1982
sudo reboot
Брандмауэр настраивается на уровне шлюза (брандмауэр Azure), но на моей виртуальной машине Ubuntu Server я ранее не добавлял никаких правил, и ufw не включен. На шлюзе я добавил порт 21 в дополнение к порту 1982, чтобы его можно было пропустить. PureFTP настроен и подключается через порт = 1982. Однако он не переадресовывает 21 на 1982 год, как ожидалось. Цель состоит в том, чтобы оба порта работали для поддержки 21 сейчас в дополнение к устаревшему 1982.
Я пробовал перечислить команды, чтобы посмотреть, не сохранилось ли оно, например, это не показывает никаких правил ни в одной категории:
iptables -t nat -L --line-numbers -n
Нужно ли мне активировать что-нибудь еще или мое правило просто не сохраняется?
Насколько мне известно, Ubuntu 18.04 по умолчанию не устанавливает пакет iptables-persistent. Пожалуйста, посмотрите на первый ответ https://askubuntu.com/questions/1052919/iptables-reload-restart-on-ubuntu-18-04 чтобы увидеть, решит ли это вашу проблему.