The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проброс портов в iptables, !*! Majestyk, 12-Фев-20, 14:38  [смотреть все]
Всем добрый день! Помогите пожалуйста разобраться с правильным написанием правила проброса портов.

Есть сервер в локальной сети на который мы посылаем какие-то пакеты и нужно чтобы он пробрасывал эти пакеты на другой сервер в локальной сети с таким же портом.

где:
10.20.80.4 локальный сервер с которого шлём пакеты
10.20.11.6 локальный сервер на который приходят пакеты
10.20.11.4 локальный сервер на который надо пробросить пакеты с 10.20.11.6
2115 - порт на который кидаем

Пробую так, но результата нет.
iptables -t nat -A PREROUTING --dst 10.20.11.6 -p tcp --dport 2115 -j DNAT --to-destination 10.20.11.4

  • Проброс портов в iptables, !*! Majestyk, 15:04 , 12-Фев-20 (1)
    > нужно чтобы он пробрасывал эти пакеты на другой сервер в локальной
    > сети с таким же портом.
    > где:
    > 10.20.80.4 локальный сервер с которого шлём пакеты
    > 10.20.11.6 локальный сервер на который приходят пакеты
    > 10.20.11.4 локальный сервер на который надо пробросить пакеты с 10.20.11.6
    > 2115 - порт на который кидаем
    > Пробую так, но результата нет.
    > iptables -t nat -A PREROUTING --dst 10.20.11.6 -p tcp --dport 2115 -j
    > DNAT --to-destination 10.20.11.4

    Разобрался сам вот таким образом
    iptables -t nat -A PREROUTING -i ens31 -p tcp --dport 2115 -j DNAT --to 10.20.11.4:2115
    iptables -t nat -A POSTROUTING -o ens31 -j MASQUERADE

    • Проброс портов в iptables, !*! Licha Morada, 07:59 , 13-Фев-20 (2) +1
      >[оверквотинг удален]
      >> 10.20.11.6 локальный сервер на который приходят пакеты
      >> 10.20.11.4 локальный сервер на который надо пробросить пакеты с 10.20.11.6
      >> 2115 - порт на который кидаем
      >> Пробую так, но результата нет.
      >> iptables -t nat -A PREROUTING --dst 10.20.11.6 -p tcp --dport 2115 -j
      >> DNAT --to-destination 10.20.11.4
      > Разобрался сам вот таким образом
      > iptables -t nat -A PREROUTING -i ens31 -p tcp --dport 2115 -j
      > DNAT --to 10.20.11.4:2115
      > iptables -t nat -A POSTROUTING -o ens31 -j MASQUERADE

      Всё правильно. Если вы посмотрите на траффик сниффером на всех 3-ёх машинах, в случаях с правилом MASQUERADE и без него, то будет весьма наглядно почему оно так.

      Из соображений чистоты, я бы рекомендовал переделать правила на нечто более симметричное и конкретное:
      iptables -t nat -A PREROUTING -i ens31 --src 10.20.80.4 --dst 10.20.11.6 -p tcp --dport 2115 -j DNAT --to 10.20.11.4:2115
      iptables -t nat -A POSTROUTING -o ens31 --src 10.20.80.4 --dst 10.20.11.4 -p tcp --dport 2115 -j SNAT --to-source 10.20.11.6

      Разница между SNAT и MASQUERADE: https://terrywang.net/2016/02/02/new-iptables-gotchas.html
      Кроме того, условия ограниченны строже. "--src" не слишком принципиален, но важно что SNAT надо применять ровно к тому-же, к чему применяется DNAT.

      А по хорошему, рекомендую rinetd для таких задач. Или вообще haproxy.

  • Проброс портов в iptables, !*! Андрей Антоша, 09:37 , 06-Мрт-20 (4)
    > Всем добрый день! Помогите пожалуйста разобраться с правильным написанием правила проброса
    > портов.
    > Есть сервер в локальной сети на который мы посылаем какие-то пакеты и
    > нужно чтобы он пробрасывал эти пакеты на другой сервер в локальной
    > сети с таким же портом.
    > где:
    > 10.20.80.4 локальный сервер с которого шлём пакеты
    > 10.20.11.6 локальный сервер на который приходят пакеты
    > 10.20.11.4 локальный сервер на который надо пробросить пакеты с 10.20.11.6
    > 2115 - порт на который кидаем

    https://www.opennet.ru/man.shtml?topic=iptables&category=8&r...

    ерунду спрашиваете.
    вам нужно делать таким образом

    iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --tcp-flags SYN,ACK ACK --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN,ACK --sport 80 -j ACCEPT
    iptables -A INPUT -p tcp --tcp-flags SYN,ACK ACK --sport 80 -j ACCEPT




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру