UFW 0.35 - Перенаправить входящий порт 2121 на порт 21 на ВМ (другой интерфейс)

Я публикую здесь, потому что у меня есть сервер, и я хочу перенаправить порт 2121 моего основного интерфейса (eth0) на порт 21 моего вторичного интерфейса (virbr0

Это моя конфигурация:

Physical server OS : Ubuntu Server 16.04 LTS, 
Firewall software : UFW v.0.35 
Virtual Machine OS : Windows 7 Professional
Hypervisor : OpenStack KVM (QEMU).

Конфигурация IP сервера:

 eth0
        address 91.121.XXX.XXX
        netmask 255.255.255.0
        network 91.121.XXX.0
        broadcast 91.121.XXX.255
        gateway 91.121.XXX.254

 virbr0
        address 192.168.122.1
        gateway 192.168.122.1

Конфигурация маршрутов сервера:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         91.121.XXX.254  0.0.0.0         UG    0      0        0 eth0
91.121.XXX.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Конфигурация UFW:

I have followed these instructions : 
NAT and FORWARD with Ubuntu’s ufw firewall - https://gist.github.com/kimus/9315140

Конфигурация IP виртуальной машины:

IP address : 192.168.122.59
GATEWAY : 192.168.122.1

Это то, что я хочу сделать:

redirect 91.121.XXX.XXX:2121 to 192.168.122.59:21 (VM).
eth0:2121 -> virbr0:21

Запись : Виртуальная машина подключена к Интернету, по некоторым причинам я хочу получить доступ к серверу FTP (Typsoft), установленному на нем на порту 21.

Порт 21 моего сервера уже используется другим устройством. И я хочу использовать порт 2121 для доступа к ftp-серверу, присутствующему на виртуальной машине.

Вы можете мне помочь?

1
задан 10 July 2016 в 00:19
1 ответ

Я никогда не использовал UFW для настройки iptables. Я всегда использовал командные строки iptables/bash скриптов для выполнения брандмауэра. Поэтому мой ответ здесь будет в этом формате.

Это правило выполняет NAT, который вы хотите:

iptables -t nat -A PREROUTING -d 91.121.XXX.XXX -p tcp --dport 2121 -j DNAT --to 192.168.122.59:21

Оно принимает TCP соединения на IP 91.121.XXX.XXX:2121 и транслирует их на вашу виртуальную машину на порт 21.

Предположив, что ваша FORWARD политика установлена на DROP, вам также нужно убедиться, что вы разрешаете соединения к вашей виртуальной машине снаружи:

iptables -A FORWARD -d 192.168.122.59 -p tcp --dport 21 -j ACCEPT

Оба этих правила ЗАПИСАНЫ для правильной работы NAT/переадресации в вашем сценарии (хотя, если ваша политика FORWARD имеет значение ACCEPT, то второе правило в цепочке FORWARD ненужно).

Если они не работают, то, пожалуйста, выведите вывод iptables -vnL, а также iptables -t nat -vnL, и я могу помочь в дальнейшем.

Надеюсь, это поможет.

.
0
ответ дан 4 December 2019 в 06:06

Теги

Похожие вопросы