Я использую UFW для защиты своей сети. Как перенаправить TCP HTTP-порт # 80 и 443 на внутренний сервер, размещенный по адресам 192.168.1.100:80 и 192.168.1.100:443, используя UFW на сервере Ubuntu Linux?
UFW — акроним для несложного брандмауэра. Он используется для управления брандмауэром Linux и предназначен для обеспечения простого в использовании интерфейса для пользователя. В этом учебном руководстве вы узнаете, как перенаправить входящий трафик на ваш сервер с ufw по порту 80/443 на порт 80/443 на другом внутреннем сервере, размещенном в вашей локальной сети / VLAN .
Наш пример
Предположим, вы хотите переслать запросы, отправляемые на {80,443} на сервер, прослушивающий 192.168.1.100:{80,443}. : Как настроить ufw для перенаправления http-трафика на другой IP-адрес: порт
Все запросы для порта 202.54.1.1 80 и 443 необходимо перенаправить на другой внутренний сервер.
DNAT
Если у вас есть сервер во внутренней сети, который вы хотите сделать доступным извне, вы можете использовать -j DNAT-адрес цепи PREROUTING в NAT, чтобы указать IP-адрес и порт назначения, где могут быть входящие пакеты, запрашивающие подключение к вашей внутренней службе. Синтаксис:
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d {PUBLIC_IP} --dport 80 -j DNAT --to {INTERNAL_IP}:80
или
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp -d {PUBLIC_IP} --dport 443 -j DNAT --to {INTERNAL_IP}:443
Постобработка и IP-Masquerading
Чтобы разрешить узлам локальной сети с частными IP-адресами связываться с внешними общедоступными сетями, настройте брандмауэр для маскировки IP-адресов, который маскирует запросы от узлов локальной сети с IP-адресом внешнего устройства брандмауэра, например eth0. Синтаксис:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
или
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
Как настроить ufw для перенаправления порта
Вам нужно отредактировать файл /etc/ufw/before.rules, введите:
$ sudo vi etc/ufw/before.rules
Затем настройте ufw для перенаправления http-трафика на другой (LAN) IP: порт. В верхнем файле добавьте:
*nat :PREROUTING ACCEPT [0:0] # forward 202.54.1.1 port 80 to 192.168.1.100:80 # forward 202.54.1.1 port 443 to 192.168.1.100:443 -A PREROUTING -i eth0 -d 202.54.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80 -A PREROUTING -i eth0 -d 202.54.1.1 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.100:443 # setup routing -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE COMMIT
Сохраните и закройте файл. Измените /etc/sysctl.conf:
$ sudo vi /etc/sysctl.conf
Установите / отредактируйте следующим образом:
Net.ipv4.ip_forward = 1
Сохраните и закройте файл. Обновить изменения:
$ sudo sysctl -p
Наконец, перезапустите брандмауэр, чтобы включить маршрутизацию:
$ sudo systemctl restart ufw
Убедитесь, что разрешены порты 80 и 443, иначе ufw заблокирует запросы, перенаправленные на внутренние 192.168.1.100:{80,443}:
$ sudo ufw allow proto tcp from any to 202.54.1.1 port 80 $ sudo ufw allow proto tcp from any to 202.54.1.1 port 443
Проверьте новые настройки:
$ sudo ufw status $ sudo iptables -t nat -L -n -v
Наконец, убедитесь, что в вашем домене указанаDNS ‘a’ запись , установлена на 202.54.1.1.
Услуги администрирования серверов, настройка сети, [email protected]