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


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

Автор Тема: Проброс портов для IRC  (Прочитано 1572 раз)

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

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Проброс портов для IRC
« : 19 Октября 2010, 10:38:09 »
В локальной сети стоит IRC-сервер (192.168.2.6).
Инет идёт через шлюз (ADSL-DHCP, 192.168.2.1). Раздача инета через iptables.
Не могу пробросить порты для входа на IRC снаружи. Так как IP раздаётся динамически, использую текущее значение IP (потом скриптом буду вытягивать и в iptables подставлять). То есть в какой-то момент времени можно считать, что внешний IP статичный (или нельзя?)
Например внешний IP 94.179.111.111, IP IRC-сервера 192.168.2.6
В iptables добавляю правила
iptables -t nat -A PREROUTING -p tcp -d 94.179.111.111 --dport 6667 -j DNAT --to-destination 192.168.2.6:6667
iptables -A FORWARD -i ppp0 -d 192.168.2.6 -p tcp --dport 6667 -j ACCEPT

Не работает.
Вычитал на каком-то сайте (уже и не вспомню, на каком)
iptables -t nat -A PREROUTING -p tcp -d 94.179.111.111 --dport 6667 -j DNAT --to-destination 192.168.2.6:6667
iptables -t nat -A POSTROUTING -p tcp -d 192.168.2.6 --dport 6667 -j SNAT --to-source 94.179.111.111
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.6 --sport 6667 -j SNAT --to-source 94.179.111.111:6667
iptables -t nat -A OUTPUT --dst 94.179.111.111 -p tcp --dport 6667 -j DNAT --to-destination 192.168.2.6:6667
Не работает.
Причём во всех случаях пакеты идут ТОЛЬКО по первому правилу
iptables -t nat -A PREROUTING -p tcp -d 94.179.111.111 --dport 6667 -j DNAT --to-destination 192.168.2.6:6667

Пробовал менять входящие порты
iptables -t nat -A PREROUTING -p tcp -d 94.179.111.111 --dport 26667 -j DNAT --to-destination 192.168.2.6:6667

и подключаться на него из клиента - то же самое.
То есть, я так понимаю, к серверу они доходят. А ждать ответа - как соловей лета.
Вопрос - почему? И как это решить?

P.S. Инет в локалку раздаётся через маскарад. Может здесь собака зарыта? Дружит ли ADSL c DNAT?
« Последнее редактирование: 20 Октября 2010, 21:44:23 от InkVisitor »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #1 : 19 Октября 2010, 12:17:25 »
ifconfig -a
sudo iptables-save
под спойлер просим

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Проброс портов для IRC
« Ответ #2 : 19 Октября 2010, 13:45:47 »
https://forum.ubuntu.ru/index.php?topic=118361.msg877310#msg877310
+
# the module for full irc connection tracking
modprobe ip_conntrack_irc

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #3 : 20 Октября 2010, 21:56:28 »
ifconfig -a шлюза (192.168.2.1)
(Нажмите, чтобы показать/скрыть)
sudo iptables-save шлюза (192.168.2.1)
(Нажмите, чтобы показать/скрыть)
Выкинул правила, касающиеся сети 192.168.0.0/24, дабы не захламлять.

Пакеты на IRC-сервер (192.168.2.6) проходят
(Нажмите, чтобы показать/скрыть)
Таблица маршрутизации 192.168.2.6
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Октября 2010, 23:59:28 от InkVisitor »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #4 : 21 Октября 2010, 00:14:41 »
В таблицах iptables конечно тихий ужас, но судя по тому, что
Пакеты на IRC-сервер (192.168.2.6) проходят
копать надо в другом месте. На самом 192.168.2.6 пакеты ловятся tcpdump'ом? На нем файролы чисты? Порт вообще обслуживается кем-либо?
« Последнее редактирование: 21 Октября 2010, 00:24:21 от Mam(O)n »

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Проброс портов для IRC
« Ответ #5 : 21 Октября 2010, 00:21:50 »
да, действительно, количество дублированных правил велико

InkVisitor, попробуйте
Цитировать
# Generated by iptables-save v1.3.8 on Wed Oct 20 20:46:27 2010
*nat
:PREROUTING ACCEPT [159259:10744212]
:POSTROUTING ACCEPT [317206:21558004]
:OUTPUT ACCEPT [323722:22098646]
-A PREROUTING -p tcp -m tcp --dport 6667 -j DNAT --to-destination 192.168.2.6:6667
-A PREROUTING -s 192.168.2.4 -d ! 192.168.2.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128   
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed Oct 20 20:46:27 2010
# Generated by iptables-save v1.3.8 on Wed Oct 20 20:46:27 2010
*mangle
:PREROUTING ACCEPT [9813344:7029312698]
:INPUT ACCEPT [8704307:6374638784]
:FORWARD ACCEPT [1105113:653754387]
:OUTPUT ACCEPT [8918404:6637822168]
:POSTROUTING ACCEPT [9978341:7290621250]
COMMIT
# Completed on Wed Oct 20 20:46:27 2010
# Generated by iptables-save v1.3.8 on Wed Oct 20 20:46:27 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
COMMIT

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #6 : 21 Октября 2010, 00:41:11 »
2 Mam(O)n
На самом 192.168.2.6 пакеты ловятся tcpdump'ом
(Нажмите, чтобы показать/скрыть)

На нем файролы чисты
(Нажмите, чтобы показать/скрыть)

Порт обслуживается
(Нажмите, чтобы показать/скрыть)
В локальной сети чат работает нормально.

2 Unreg
Это, я так понял не нужно
-A PREROUTING -s 192.168.2.4 -d ! 192.168.2.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128 

Эти поставил (уже не впервой - по ссылкам ходил)
-A PREROUTING -p tcp -m tcp --dport 6667 -j DNAT --to-destination 192.168.2.6:6667
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -o ppp0 -j MASQUERADE
Ничего не изменилось. Пакеты ходят - сервер не коннектит...

Насчёт дублей - идёт постоянное ковыряние в шлюзе. И, это такой творческий беспорядок  :) Когда-нибуть соберусь - наведу порядок.
« Последнее редактирование: 21 Октября 2010, 00:51:47 от InkVisitor »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #7 : 21 Октября 2010, 00:44:43 »
-A INPUT -j ACCEPT
-A OUTPUT -j ACCEPT
sudo iptables-save нужно смотреть.

Пользователь решил продолжить мысль 21 Октября 2010, 00:48:09:
И контрольный sudo netstat -ntlp
« Последнее редактирование: 21 Октября 2010, 00:48:09 от Mam(O)n »

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Проброс портов для IRC
« Ответ #8 : 21 Октября 2010, 00:53:14 »
$ sudo modprobe ip_conntrack_irc
мало ли...

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #9 : 21 Октября 2010, 01:00:41 »
sudo iptables-save сервера (192.168.2.6)
(Нажмите, чтобы показать/скрыть)
Что-то непонятно, откуда 32-я маска сети взялась... Я её не ставил...

sudo netstat -ntlp  сервера (192.168.2.6)
(Нажмите, чтобы показать/скрыть)

2 Unreg
sudo modprobe ip_conntrack_irc - сделал - не помогло.
Да я и и в скрипт файрвола воткнул
# the module for full irc connection tracking
/sbin/modprobe ip_conntrack_irc
« Последнее редактирование: 21 Октября 2010, 01:06:01 от InkVisitor »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #10 : 21 Октября 2010, 01:05:34 »
/32 маска автоматом подставляется.

А рубится у тебя там в OUTPUT. Перечитай еще раз правила внимательно.

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #11 : 21 Октября 2010, 01:11:16 »
Вот я тормоз!
-A OUTPUT -s 192.168.2.6/32 -o eth0 -j DROP
-A OUTPUT -j ACCEPT
Конечно! Стоило только правила поменять местами - всё заработало. Придётся разобраться ещё, какого я его туда впихнул...

Спасибо огромное Mam(O)n и Unreg

Оффлайн drako

  • Старожил
  • *
  • Сообщений: 1422
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #12 : 21 Октября 2010, 13:37:30 »
Капец, ТС Вы сами поняли, что у вас вообще в правилах творится?!

Оффлайн InkVisitor

  • Автор темы
  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: Проброс портов для IRC
« Ответ #13 : 22 Октября 2010, 00:47:15 »
Угу, чуток подчистить надо...

 

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