Рейтинг:2

Переадресация портов через iptables не работает

флаг vn

У меня есть два сервера:

сервер 1 с IP-адресом 10.8.0.1

сервер 2 с IP-адресом 10.8.0.6

Я хочу, чтобы сервер 2 работал как прокси для веб-сайта, размещенного на сервере 1. Поэтому я использую следующие команды:

sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.8.0.1:443

sudo iptables -t nat -A POSTROUTING -p tcp -d 10.8.0.1 --dport 443 -j SNAT --to-source 10.8.0.6

Однако описанная выше настройка не работает, так как я не могу просматривать веб-сайт. Также, телнет 10.8.0.6 443 не производит вывод.

Doug Smythies avatar
флаг gn
вы включили переадресацию? `echo "1" > /proc/sys/net/ipv4/ip_forward` как sudo. У меня есть пример того, что вы хотите работать в моей локальной сети, и я могу написать ответ примерно через 8 часов.
Admia avatar
флаг vn
переадресация портов включена на сервере 2, потому что когда я набираю `sysctl net.ipv4.ip_forward`, я получаю `net.ipv4.ip_forward = 1`. Кроме того, `sudo cat /proc/sys/net/ipv4/ip_forward` приводит к `1`
Admia avatar
флаг vn
Я должен отметить, что IP-адрес «10.8.0.6» для сервера 2 настроен openvpn. У сервера 2 есть публичный адрес, и люди должны просматривать мой сайт, используя публичный адрес сервера 2.
Doug Smythies avatar
флаг gn
Ой! Это довольно важная информация. Я сомневаюсь, что мой ответ поможет тогда, потому что он похож на то, что вы уже делаете, просто добавляет спецификацию интерфейса.
Рейтинг:1
флаг gn

У меня есть пример того, как это работает в моей локальной сети, но, судя по комментариям, это может не решить вашу проблему.:

Веб-трафик, поступающий с 192.168.111.122 на 192.168.111.136, перенаправляется на 192.168.111.1. Ответы от 192.168.111.1 проходят обратный путь, возвращаясь к 192.168.111.122. кто думает, что пакеты пришли с 192.168.111.136.

doug@s19:~/iptables/misc$ sudo tcpdump -n -tttt -i br0 не порт 22
tcpdump: подробный вывод подавлен, используйте -v или -vv для полного декодирования протокола
прослушивание на br0, тип канала EN10MB (Ethernet), размер захвата 262144 байт
2021-12-19 15:57:47.389745 IP 192.168.111.122.51683 > 192.168.111.136.443: флаги [S], seq 1692549099, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK] , длина 0
2021-12-19 15:57:47.389760 IP 192.168.111.136.51683 > 192.168.111.1.443: Флаги [S], seq 1692549099, win 64240, параметры [mss 1460,nop,wscale 8,nop,nop,sackOK] , длина 0
2021-12-19 15:57:47.390055 IP 192.168.111.1.443 > 192.168.111.136.51683: Флаги [S.], seq 1478028943, ack 1692549100, win 64240, параметры [mss 1460, OK, snop, nop ,масштаб 7], длина 0
2021-12-19 15:57:47.390062 IP 192.168.111.136.443 > 192.168.111.122.51683: Флаги [S.], посл. ,масштаб 7], длина 0
2021-12-19 15:57:47.390301 IP 192.168.111.122.51683 > 192.168.111.136.443: Флаги [.], подтверждение 1, выигрыш 1026, длина 0
2021-12-19 15:57:47.390306 IP 192.168.111.136.51683 > 192.168.111.1.443: Флаги [.], подтверждение 1, выигрыш 1026, длина 0
2021-12-19 15:57:47.396847 IP 192.168.111.122.51683 > 192.168.111.136.443: Flags [P.], seq 1:518, ack 1, win 1026, длина 517
2021-12-19 15:57:47.396852 IP 192.168.111.136.51683 > 192.168.111.1.443: Флаги [P.], seq 1:518, подтверждение 1, выигрыш 1026, длина 517
2021-12-19 15:57:47.397080 IP 192.168.111.1.443 > 192.168.111.136.51683: Флаги [.], подтверждение 518, выигрыш 501, длина 0
2021-12-19 15:57:47.397085 IP 192.168.111.136.443 > 192.168.111.122.51683: Флаги [.], подтверждение 518, выигрыш 501, длина 0
2021-12-19 15:57:47.400934 IP 192.168.111.1.443 > 192.168.111.136.51683: флаги [P.], seq 1:1629, ack 518, win 501, длина 1628
2021-12-19 15:57:47.400941 IP 192.168.111.136.443 > 192.168.111.122.51683: флаги [.], seq 1:1461, ack 518, win 501, длина 1460
2021-12-19 15:57:47.400942 IP 192.168.111.136.443 > 192.168.111.122.51683: Flags [P.], seq 1461:1629, ack 518, win 501, длина 168

Правила iptables загружаются через скрипт на моем тестовом компьютере:

doug@s19:~/iptables/misc$ cat ask1382639
#!/бин/ш
ФВВЕР=0,01
#
# ask1382639 Smythies 2021.12.18 Версия: 0.01
#       Глянь сюда:
# https://askubuntu.com/questions/1382639
#
# запустить как sudo на s19.
#
# Примечание. Эти правила, возможно, потребуется объединить с
# любой существующий набор правил iptables.

echo "Загружается версия набора правил ask1382639 $FWVER..\n"

# Расположение программы iptables
#
IPTABLES=/sbin/iptables

#Установка ВНЕШНИХ и ВНУТРЕННИХ интерфейсов и адресов для сети
#
# Смити (для тестирования)

EXTIF="br0"
EXTIP="192.168.111.136"
ПЕРЕНАПРАВЛЕНИЕ = "192.168.111.1"
СЕТЬ = "192.168.111.0/24"
ВСЕЛЕННАЯ="0.0.0.0/0"

#
# Для актуальных серверов вопроса
#
#EXTIF="НЕИЗВЕСТНО"
#EXTIP="10.8.0.6"
#REDIRECTIP="10.8.0.1"
#NETWORK="10.8.0.0/24" ПРЕДПОЛАГАЕТСЯ, ФАКТИЧЕСКИ НЕИЗВЕСТНО
#ВСЕЛЕННАЯ="0.0.0.0/0"


#ВАЖНО: Включите IP-переадресацию, так как она отключена по умолчанию.
#
echo Включение переадресации...
эхо "1" > /proc/sys/net/ipv4/ip_forward

# Очистка любой предыдущей конфигурации
# Будьте осторожны. Я могу сделать это на s19, но не знаю
# о серверах Admia.
#
echo "Очистка существующих правил и установка политик по умолчанию.."
$IPTABLES -P ВВОД ПРИНЯТЬ
$IPTABLES -F ВВОД
$IPTABLES -P ПРИНЯТЬ ВЫВОД
$IPTABLES -F ВЫВОД
$IPTABLES -P ПЕРЕДАТЬ ПРИНЯТЬ
$IPTABLES -F ВПЕРЕД
$IPTABLES -t физ -F
# Удалить пользовательские цепочки
$IPTABLE -X
# Сбросить все счетчики IPTABLES
$IPTABLES -Z
# Smythies: Хотя в моих ссылках этого нет, я думаю, что это необходимо.
$IPTABLES -t физ -Z

# Первое: перенаправить трафик порта 443 на другой сервер.
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 443 -j DNAT --to $REDIRECTIP

# Во-вторых: получатель должен знать, на какой IP-адрес отвечать.
$IPTABLES -t nat -A POSTROUTING -p tcp -o $EXTIF --dport 443 -d $REDIRECTIP -j SNAT --to $EXTIP

echo ask1382639 версия набора правил $FWVER выполнена.

и:

doug@s19:~/iptables/misc$ sudo iptables -t nat -xvnL
Цепочка PREROUTING (политика ACCEPT 177 пакетов, 13129 байт)
    pkts bytes target prot opt ​​in out source target
       6 312 DNAT TCP -- br0 * 0.0.0.0/0 0.0.0.0/0 TCP dpt:443 to:192.168.111.1

Цепочка INPUT (политика ACCEPT 177 пакетов, 13129 байт)
    pkts bytes target prot opt ​​in out source target

Цепочка POSTROUTING (политика ACCEPT 3 пакета, 252 байта)
    pkts bytes target prot opt ​​in out source target
       6 312 SNAT TCP -- * br0 0.0.0.0/0 192.168.111.1 TCP dpt:443 to:192.168.111.136

Цепочка OUTPUT (политика ACCEPT 3 пакета, 252 байта)
    pkts bytes target prot opt ​​in out source target

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

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