Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проброс порта через iptables  (Прочитано 4368 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Veter9

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Проброс порта через iptables
« : 12 Апреля 2011, 14:59:01 »
Добрый день.
Имеется Ubuntu 10.10 шлюз с двумя сетевыми интерфейсами.
(Нажмите, чтобы показать/скрыть)

На шлюзе службы DNS DHCP tftp postfix dovecot.

Содержимое /etc/nat
(Нажмите, чтобы показать/скрыть)

Есть задача перекинуть  внешний порт 86***:10380   на внутренний 10.0.0.30:80

Делаю строчкой
$IPT -t nat -A PREROUTING -d $INET_ADDRESS -p tcp --dport 10380 -j DNAT --to-destination 10.0.0.30:80
У хоста 10.0.0.30 default gw 10.0.0.1
Изнутри сети 10.0.0.30 доступен. nmap 86.*** показывает,что порт 10380 и не открыт, как я понимаю.
 
Ну собственно не работает. Что я делаю не так? Куда копать?

UPD:
sudo iptables-save


(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 12 Апреля 2011, 16:34:02 от Veter9 »

Оффлайн absent

  • Активист
  • *
  • Сообщений: 368
  • Ubuntu 16.04
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #1 : 12 Апреля 2011, 15:33:10 »
forward забыли сделать ещё

upd. хотя пардон, строка
$IPT -A FORWARD -p tcp -i $INET_IFACE --destination-port 80 --destination 10.0.0.30 -j ACCEPT
присутствует
« Последнее редактирование: 12 Апреля 2011, 15:39:37 от absent »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #2 : 12 Апреля 2011, 15:54:05 »
Что я делаю не так? Куда копать?
Показываете действующие правила не так. Я даже листать эту простынку не стану.
sudo iptables-saveТак будет читабельней и явно видно, какие правила в работе

Оффлайн Veter9

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #3 : 12 Апреля 2011, 16:04:56 »
Что я делаю не так? Куда копать?
Показываете действующие правила не так. Я даже листать эту простынку не стану.
sudo iptables-saveТак будет читабельней и явно видно, какие правила в работе


sudo iptables-save

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 12 Апреля 2011, 16:34:29 от Veter9 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28493
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #4 : 12 Апреля 2011, 16:38:17 »
Ну, с начала.
-P OUTPUT DROP
почти всегда ошибочно.

-A FORWARD -d 10.0.0.30/32 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
замените на
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
и поставьте его сразу за
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
чтобы пакеты далеко не отходили.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Re: Проброс порта через iptables
« Ответ #5 : 12 Апреля 2011, 16:40:50 »
forward забыли сделать ещё

upd. хотя пардон, строка
$IPT -A FORWARD -p tcp -i $INET_IFACE --destination-port 80 --destination 10.0.0.30 -j ACCEPT
присутствует

попробуй
$iptables -I FORWARD 1 -p tcp -m tcp --dport 80 -d 10.0.0.30 -j ACCEPT
$iptables -I FORWARD 2 -p tcp  -s 10.0.0.30 -j ACCEPT


Ну, с начала.
-P OUTPUT DROP
почти всегда ошибочно.

Таки да, но тут оно вообще не причем, эти пакеты в OUTPUT никаким боком не попадут
« Последнее редактирование: 12 Апреля 2011, 16:59:51 от Humpty »
Дельфин будет жить. А я умру.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28493
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #6 : 12 Апреля 2011, 16:45:53 »
Ну, с начала.
-P OUTPUT DROP
почти всегда ошибочно.

Таки да, но тут оно вообще не причем, эти пакеты в OUTPUT никаким боком не попадут
Знаю. Вы только первую строчку ответа читаете, или таки весь?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Re: Проброс порта через iptables
« Ответ #7 : 12 Апреля 2011, 16:48:43 »
Знаю. Вы только первую строчку ответа читаете, или таки весь?

Я все читаю.
поскольку никаких логов не приведено, то скорее всего пакеты гибнут в недрах bad_packets
А правила запутаны совершенно ужасно и ненужно, там не только к OUTPUT надо придираться.
« Последнее редактирование: 12 Апреля 2011, 16:53:48 от Humpty »
Дельфин будет жить. А я умру.

Оффлайн absent

  • Активист
  • *
  • Сообщений: 368
  • Ubuntu 16.04
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #8 : 12 Апреля 2011, 22:07:56 »
пробросил порт (стандартно: PREROUTING + FORWARD) на внутреннюю машину, по nmap извне порта не видно (кроме 22, может там какое хитрое сканирование надо делать..), через telnet извне соединение на проброшенный порт проходит нормально (на порту внутренней машины использовал nc для наглядности). так что может всё и так работало?  :)

Оффлайн Veter9

  • Автор темы
  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Re: Проброс порта через iptables
« Ответ #9 : 13 Апреля 2011, 10:48:44 »
пробросил порт (стандартно: PREROUTING + FORWARD) на внутреннюю машину, по nmap извне порта не видно (кроме 22, может там какое хитрое сканирование надо делать..), через telnet извне соединение на проброшенный порт проходит нормально (на порту внутренней машины использовал nc для наглядности). так что может всё и так работало?  :)

У меня при Intense scan nmap +alltcp ports показывает, что порт 10380 filtered, в то время, как остальные open. То есть вероятно, что он все же открывается, но не доступен для общения

Все способы, описанные выше попробовал - ничего не помогло пока.
Какие еще варианты, способы нахождения причины проблемы?

Оффлайн Humpty

  • Новичок
  • *
  • Сообщений: 41
    • Просмотр профиля
    • BarList.RU - рецепты коктейлей
Re: Проброс порта через iptables
« Ответ #10 : 13 Апреля 2011, 12:12:43 »
Какие еще варианты, способы нахождения причины проблемы?

Во-первых, поглядеть в логах, куда попадают эти пакеты. Если ничего нету, то брать tcpdump и смотреть. Но сначала

iptables -F
iptables -t nat -F
iptaples -P FORWARD (INPUT, OUTPUT)  ACCEPT
Потом
iptables -t nat -A PREROUTING -d $INET_ADDRESS -p tcp --dport 10380 -j DNAT --to-destination 10.0.0.30:80
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source $INET_ADDRESS
и смотреть заработает ли оно вообще.
« Последнее редактирование: 13 Апреля 2011, 12:14:53 от Humpty »
Дельфин будет жить. А я умру.

 

Страница сгенерирована за 0.069 секунд. Запросов: 26.