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


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

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

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

Оффлайн VerstaK

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
shorewall и проброс портов
« : 18 Февраля 2010, 15:57:35 »
Поставил и настроил shorewall, хочу настроить проброс портов следующим образом:

сервер слушает порты от 4899 (стандартный RAdmin) до, предположим 5010. Необходимо сделать так, что если удаленный комп подключается на порт 5000, его перебрасывало на машину 192.168.1.2 порт 4899, если 5001 - на машину 192.168.1.3 порт 4899.

Пробовал создавать правило DNAT с такими условиями - не хочет. Нужно чтобы порт и на удаленном клиенте RAdmin, и на машине в локалке за файрволом совпадал.

Как побороть?

Оффлайн yuristep

  • Участник
  • *
  • Сообщений: 248
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #1 : 18 Февраля 2010, 16:22:54 »
а нечего пользоваться костылями -  хотите ходить - вставайте на ноги - Ваш shorewall не более чем конструктор к правилам iptables.
в секции *nat
-A PREROUTING -d public_ip -p tcp -m tcp --dport 5010 -j DNAT --to-destination client_ip:4899
Осторожно! - Злой админ!

Оффлайн VerstaK

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #2 : 19 Февраля 2010, 00:53:05 »
Так мне что, shorewall сносить?
и вместо "public_IP" можно указать интерфейс? Потому как ADSL и динамический адрес
« Последнее редактирование: 19 Февраля 2010, 00:57:17 от VerstaK »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #3 : 19 Февраля 2010, 01:01:34 »
Читайте маны. Не придётся таких вопросов задавать...
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн VerstaK

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #4 : 19 Февраля 2010, 01:17:57 »
Спасибо за совет, почитал маны.
Создал файт /etc/shorewall/start
В нем написал
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 5000 -j DNAT --to-destination 192.168.1.2:4899

Перезапустил shorewall. По-прежнему не работает

Оффлайн Eisenhorn

  • Любитель
  • *
  • Сообщений: 52
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #5 : 19 Февраля 2010, 03:12:45 »
А еще можно сгенерировать Shorewall'ом правила, сохранить дополнить их от себя и скормить в чистый iptables.

Оффлайн FReDO

  • Участник
  • *
  • Сообщений: 128
  • Linux Ubuntu 10.04 Kernel 2.6.32-22
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #6 : 19 Февраля 2010, 05:03:46 »
вижу раньше ты не сталкивался с этим !
Цитировать
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 5000 -j DNAT --to-destination 192.168.1.2:4899
это команда вводится в терминале
говорит она вот о чём, от входящего травика по протоколу tcp по средством ppp входящего соединения с портом 5000, направлять на ip-адрес 192.168.1.2 с портом 4899
то есть обычный проброс портов, можешь эту фразу заучить, работает она по схеме tcp-port-port-tcp так же есть вариации tcp/udp tcp/tcp udp/tcp udp/udp
/(ECS RC410L/800-M2)/LGA775 Celeron D 2.6GHz/Trancent DDR2-667 2GB/nVidia GT220 512MB/

Оффлайн VerstaK

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #7 : 19 Февраля 2010, 06:47:49 »
При вводе в терминале команды
iptables -t nat -A PREROUTING -p tcp -d ppp0 --dport 5000 -j DNAT --to-destination 192.168.1.2:4899

ругается на то, что неизвестный интерфейс ppp0, хотья в ifconfig он выводится


В манах shorewall вычитал, что
The general form of a simple port forwarding rule in /etc/shorewall/rules is:
#ACTION   SOURCE    DEST                                          PROTO      DEST PORT(S)
DNAT      net       loc:<server local ip address>[:<server port>] <protocol> <port>

Пишу правило
DNAT NET loc:192.168.1.2:4899 tcp 5000

Что неправильно? Почему еще и командную строку использовать надо, если shorewall - это немного упрощенный iptables? Не пойму
« Последнее редактирование: 19 Февраля 2010, 07:12:02 от VerstaK »

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

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: shorewall и проброс портов
« Ответ #8 : 19 Февраля 2010, 12:29:35 »
После -d нужно вводить IP адрес! Читайте маны!

Пользователь решил продолжить мысль 19 Февраля 2010, 12:33:30:
Цитата: man iptables
       [!] -s, --source address[/mask]
              Source  specification.  Address  can be either a network name, a
              hostname (please note that specifying any name  to  be  resolved
              with a remote query such as DNS is a really bad idea), a network
              IP address (with /mask), or a plain IP address.  The mask can be
              either  a  network mask or a plain number, specifying the number
              of 1's at the left side of the network mask.  Thus, a mask of 24
              is  equivalent  to  255.255.255.0.   A  "!"  argument before the
              address specification inverts the sense of the address. The flag
              --src is an alias for this option.

       [!] -d, --destination address[/mask]
              Destination  specification.   See  the  description  of  the  -s
              (source) flag for a detailed description  of  the  syntax.   The
              flag --dst is an alias for this option.
« Последнее редактирование: 19 Февраля 2010, 12:33:30 от Mam(O)n »

 

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