Рейтинг:0

пересылать пакеты через iptables

флаг ug

Я хотел бы перенаправить все, что входит с 10.32.43.75:80 на 10.48.5.66:80

как я могу сделать это с iptables в 10.32.43.75?

Я пробовал это, но не работал:

iptables -A PREROUTING -t nat -i ens33 -p tcp --dport -j DNAT --to 10.48.5.66:80

iptables -A FORWARD -p tcp -d 10.48.5.66 --dport 80 -j ПРИНЯТЬ

Рейтинг:0
флаг us

Проблема в вашей настройке заключается в том, что исходные адреса пакетов остаются прежними. Пример потока пакетов, где клиент 192.168.100.100:

  1. Клиентский пакет с источником 192.168.100.100 поступает на порт 80 10.32.43.75. Адрес источника пакета 192.168.100.100, адрес назначения 10.32.43.75.
  2. IPTables выполняет NAT назначения, изменяя место назначения на 10.48.5.66. Адрес источника пакета — 192.168.100.100, адрес назначения — 10.48.5.66.
  3. Пакет переадресован на 10.48.5.66. Он отправляет ответный пакет на адрес 192.168.100.100. Адрес источника ответного пакета — 10.48.5.66, адрес назначения — 192.168.100.100.
  4. Пакет ответа достигает клиента. Однако, поскольку исходный пакет был отправлен на 10.32.43.75, исходный адрес 10.48.5.66 не соответствует ожиданиям клиента, поэтому пакет отбрасывается.

Решение состоит в том, чтобы добавить МАСКАРАД правило, которое изменяет исходный IP-адрес на 10.32.43.75 для пакетов, пересылаемых через порт:

iptables -t nat -A POSTROUTING -d 10.48.5.66 -p tcp --dport 80 -j MASQUERADE

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

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