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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн Uraborus

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Проброс портов в Ubuntu
« : 05 Март 2010, 13:49:26 »
Ребята здравствуйте, я чайник, приготовил для Вас интересную задачку :
Имеем сервер на убунте 2 сетевых интерфейса, в один адсл модем, в другой локальная сеть.
Настроил в модеме проброс порта 4999 на 192.168.1.157(сетевая, в которую модем), запрос по этому порту стал уходить на сервер машину.
Нужно что бы сервер перекидывал сия запрос на локальную машину. Я как понимаю за это отвечает NAT.
Подскажите о великие гуру, как сие сделать?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25968
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #1 : 05 Март 2010, 18:01:33 »
1. Выдернуть провод из компьютера и воткнуть в хаб. Настроить форвард на нужную машину.
2. Прочитать man iptables и google iptables.
3. Воспользоваться поиском по форуму, наконец...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bumos

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Решения компьютерных проблем
Re: Проброс портов в Ubuntu
« Ответ #2 : 22 Апрель 2010, 10:13:57 »
1. Выдернуть провод из компьютера и воткнуть в хаб. Настроить форвард на нужную машину.
2. Прочитать man iptables и google iptables.
3. Воспользоваться поиском по форуму, наконец...
Если нечего написать лучше не писать вообще - человек попросил послать его в гугль? Я думаю это все знают и пишут не для того чтобы их посылали, а дали дельный совет. Я сам сталкиваюсь с проблемами такого рода и в Вашем совете не вижу никакой нужной или полезной информации. ИМХО
Решения компьютерных проблем http://bumos.rxfly.net

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #3 : 22 Апрель 2010, 10:48:00 »
Ребята здравствуйте, я чайник, приготовил для Вас интересную задачку :
Имеем сервер на убунте 2 сетевых интерфейса, в один адсл модем, в другой локальная сеть.
Настроил в модеме проброс порта 4999 на 192.168.1.157(сетевая, в которую модем), запрос по этому порту стал уходить на сервер машину.
Нужно что бы сервер перекидывал сия запрос на локальную машину. Я как понимаю за это отвечает NAT.
Подскажите о великие гуру, как сие сделать?
Нат:
iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.1.157 --dport 4999 -j DNAT --to-destination XXX.XXX.XXX.XXX

Ну и форвардинг включить.
Шаг за шагом можно достичь цели.

Оффлайн Bumos

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Решения компьютерных проблем
Re: Проброс портов в Ubuntu
« Ответ #4 : 22 Апрель 2010, 12:34:17 »
Ув. podkovyrsty, поправьте где не так
Предположим так "модем(192.168.1.1)->(eth1(192.168.1.157)+eth0(10.10.0.1)->10.10.0.0/24(LAN)"

iptables -A FORWARD -i eth1 -d 10.10.0.x (IP компа из локальной сети) -p tcp --dport 4999 -m state --state NEW -j ACCEPT
iptables -t nat -I PREROUTING --dst 192.168.1.157 -p tcp --dport 4999 -j DNAT --to-destination 10.10.0.x:4999
iptables -t nat -I POSTROUTING -p tcp --dst 10.10.0.x --dport 4999 -j SNAT --to-source 192.168.1.157
iptables -t nat -I OUTPUT --dst 192.168.1.157 -p tcp --dport 4999 -j DNAT --to-destination 10.10.0.x :4999
iptables -I FORWARD -i eth1 --dst 10.10.0.x  -j ACCEPT

Вроде так. Если где не так поправьте.
Решения компьютерных проблем http://bumos.rxfly.net

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25968
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #5 : 22 Апрель 2010, 12:50:46 »
Не так. Причём с первой строки "не так". Это кроме того, что она вообще не нужна.

iptables -t nat -I PREROUTING --dst 192.168.1.157 -p tcp -m tcp --dport 4999 -j DNAT --to-destination 10.10.0.x:4999
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.157

ВСЁ! Больше никакой уличной магии не надо!
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bumos

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Решения компьютерных проблем
Re: Проброс портов в Ubuntu
« Ответ #6 : 22 Апрель 2010, 13:00:21 »
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.157
Т.е. тут именно с eth0(10.10.0.1) на 192.168.1.157
И еще вопрос - про форвардинг. если по умолчанию все закрыто?
Решения компьютерных проблем http://bumos.rxfly.net

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25968
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #7 : 22 Апрель 2010, 13:01:58 »
Опс, обшипся. Конечно, -o eth1
Просто у меня по жизни внешка на eth0 висит...

Если закрыто, то показывай iptables-save, будем смотреть. Что именно закрыто и где надо открыть.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #8 : 22 Апрель 2010, 13:05:27 »
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.157
Т.е. тут именно с eth0(10.10.0.1) на 192.168.1.157
И еще вопрос - про форвардинг. если по умолчанию все закрыто?
1) eth1 все-таки
2) открыто, посмотри в iptables-save
Шаг за шагом можно достичь цели.

Оффлайн Bumos

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • Решения компьютерных проблем
Re: Проброс портов в Ubuntu
« Ответ #9 : 22 Апрель 2010, 13:24:59 »
Вот мои настройки
Модем 192.168.1.1
eth1(IP 192.168.1.2) в  модем  
eth0 (10.115.0.51) в LAN 10.115.0.0/24
(Нажмите, чтобы показать/скрыть)
За основу брал :https://forum.ubuntu.ru/index.php?topic=82361.30
при добавлении iptables -P FORWARD DROP и iptables -P INPUT DROP все перестает работать. Хотя я уже отхожу от темы. Просто следующий шаг проброс порта в локалку RDP и порта обновлений антивирусника
Решения компьютерных проблем http://bumos.rxfly.net

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 25968
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #10 : 22 Апрель 2010, 16:12:00 »
Мессир, у вас параноиа?
UDP - stateless простокол. его слегка бесполезно проверять на NEW.
SMTP открывать на доступ снаружи, учитывая предполагаемый объём ваших знаний, я бы не стал.

Что именно "всё перестаёт работать"? Настроено по сути довольно грамотно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #11 : 22 Апрель 2010, 18:28:11 »
при добавлении iptables -P FORWARD DROP и iptables -P INPUT DROP все перестает работать.
Без это теряют смысл все правила, что в таблице filter, т.е. всё, что в цепочках INPUT и FORWARD бессмысленно. Мне кажется, что еще нужно открыть в цепочке INPUT порт 3128/tcp входящий с eth0.

Оффлайн Danko Lazovich

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #12 : 16 Июнь 2010, 21:25:13 »
очень похожая проблема: нужен удаленный доступ по RDP

внешний eth3 X.X.X.X
внутрений eth4 192.168.0.1
требуется удаленный доступ на машину 192.168.0.11
форвардинг включен
создаю правила:
iptables -t nat -A PREROUTING -p tcp -d X.X.X.X --dport 3389 -j DNAT --to-destination 192.168.0.11:3389
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.11 --dport 3389 -j SNAT --to-source X.X.X.X

суть проблемы:
из LAN, со своей машины, в проге "Подключение к удаленному рабочему столу" могу заходить по обоим адресам:
и по 192.168.0.11
и по X.X.X.X
он открывает рабочий стол необходимой машины, а вот из дома по Х.Х.Х.Х он заходить на неё не хочет :'(
ПОЧЕМУ ТАК????

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

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #13 : 16 Июнь 2010, 22:23:13 »
ПОЧЕМУ ТАК????
ХРЕН ЕГО ЗНАЕТ!!!

Показывай вывод sudo iptables-save

Оффлайн Danko Lazovich

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Проброс портов в Ubuntu
« Ответ #14 : 17 Июнь 2010, 00:18:02 »
тут ващето сложная система, у меня Инэт через Firestarter раздается
вобщем так:

что я делаю:
-прописываю два правила
 iptables -t nat -A PREROUTING -p tcp -d X.X.X.X --dport 3389 -j DNAT --to-destination 192.168.0.11:3389
 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.11 --dport 3389 -j SNAT --to-source X.X.X.X

-проверяю
 sudo iptables -L -n -v -t nat

-получаю
 Chain PREROUTING (policy ACCEPT 88 packets, 5830 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0           X.X.X.X       tcp dpt:3389 to:192.168.0.11:3389

 Chain POSTROUTING (policy ACCEPT 3 packets, 322 bytes)
 pkts bytes target     prot opt in     out     source               destination
   81  4317 MASQUERADE  all  --  *      eth3    0.0.0.0/0            0.0.0.0/0
    0     0 SNAT       tcp  --  *      *       0.0.0.0/0            192.168.0.11        tcp dpt:3389 to:X.X.X.X

 Chain OUTPUT (policy ACCEPT 41 packets, 3734 bytes)
 pkts bytes target     prot opt in     out     source               destination

-пытаюсь сохранить
 iptables-save > /etc/iptables.up.rules

-прописваю в nano /etc/network/interfaces
 pre-up........ (его не было)

REBOOT

LAN:
нэт есть
VNC есть
RDP ecть

внешне через LAN (т.е. с локальной машины набираю внешний IP):
VNS есть
RDP есть

внешне
VNS есть
RDP нет

ТЕПЕРЬ на сервере
смотрю sudo iptables -L -n -v -t nat

вижу пусто
 Chain PREROUTING (policy ACCEPT 14 packets, 1050 bytes)
 pkts bytes target     prot opt in     out     source               destination

 Chain POSTROUTING (policy ACCEPT 5 packets, 299 bytes)
 pkts bytes target     prot opt in     out     source               destination

 Chain OUTPUT (policy ACCEPT 1 packets, 71 bytes)
 pkts bytes target     prot opt in     out     source               destination

прописываю
 iptables -t nat -A PREROUTING -p tcp -d X.X.X.X --dport 3389 -j DNAT --to-destination 192.168.0.11:3389
 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.0.11 --dport 3389 -j SNAT --to-source X.X.X.X

захожу в Firestarter  и принудительно его отрубаю

ТЕПЕРЬ

LAN:
нэт нет
VNC есть
RDP ecть

внешне через LAN(т.е. с локальной машины набираю внешний IP):
VNS есть
RDP есть

внешне
VNS есть
RDP есть

 

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