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


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

Автор Тема: Форвард портов (для камеры)  (Прочитано 1890 раз)

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Форвард портов (для камеры)
« : 18 Августа 2010, 18:39:49 »
Есть сервер раздающий интернет в конторе на Ubuntu server 9.1

Наружу смотрит IP: 217.15.х.х
В сеть смотрит IP: 192.168.0.1

Поставил камеру DCS-920  IP: 192.168.0.20

Вопрос как теперь сделать так чтобы увидеть камеру из вне?
т.е. при заходе http://217.15.х.х  чтобы отображался 80й порт 192.168.0.20 :idiot2:

Заранее спасибо.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #1 : 18 Августа 2010, 18:42:17 »
DNAT в INPUT, ACCEPT в FORWARD.
Естественно, на машине должен быть настроен рабочий NAT.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #2 : 18 Августа 2010, 19:19:53 »
По-командно подскажи как сделать?


Возможно это поможет:
__________________________________________________________
xenoman@server:~$ sudo iptables-save
[sudo] password for xenoman:
# Generated by iptables-save v1.4.4 on Wed Aug 18 19:16:55 2010
*nat
:PREROUTING ACCEPT [548360:51662916]
:POSTROUTING ACCEPT [124366:8594044]
:OUTPUT ACCEPT [124366:8594044]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Aug 18 19:16:55 2010
# Generated by iptables-save v1.4.4 on Wed Aug 18 19:16:55 2010
*filter
:INPUT ACCEPT [12765624:14640955661]
:FORWARD ACCEPT [11218943:8352376227]
:OUTPUT ACCEPT [9617149:4831302529]
COMMIT
# Completed on Wed Aug 18 19:16:55 2010


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #3 : 18 Августа 2010, 20:04:29 »
Всё вам разжевывать надо :(

-t nat -A PREROUTING -p tcp -m tcp --dport $CHOSEN_PORT -j DNAT --to-destination $CAMERA_IP:$CAMERA_PORT
-t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
-t filter -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-t filter -A FORWARD -s 192.168.0.0/24 -o eth0 -m conntrack --ctstate NEW -j ACCEPT
-t filter -A FORWARD -d $CAMERA_IP -p tcp -m tcp --dport $CAMERA_PORT -j ACCEPT
-t filter -P FORWARD DROP
-t filter -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-t filter -A INPUT -i lo -j ACCEPT
-t filter -A INPUT -p icmp -j ACCEPT
-t filter -P INPUT DROP

Вот только почему маскарад? У тебя что, IP на eth0 меняется постоянно?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #4 : 18 Августа 2010, 21:43:29 »
Неа все стандартные, просто на всю сетку интернет раздает чтобы каждый раз не прописывать адреса.
Спасибо попробую сейчас, объемно однако получилось :)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #5 : 18 Августа 2010, 21:53:39 »
Неа все стандартные, просто на всю сетку интернет раздает чтобы каждый раз не прописывать адреса.

Это к чему тут вообще?

Спасибо попробую сейчас, объемно однако получилось :)

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

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #6 : 18 Августа 2010, 21:57:16 »
Отлично все заработало.
Спасибо огромное  :coolsmiley:

Пользователь решил продолжить мысль 18 Августа 2010, 22:30:03:
Кстати при перезагрузки слетают на предыдущие правила.
В каком файле они прописаны, где смотреть?
Ну или как сохранить текущие что в память ввожу.
« Последнее редактирование: 18 Августа 2010, 22:30:03 от xenoman »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #8 : 19 Августа 2010, 18:49:21 »
Камера то заработала, но:
1) пропал интернет для всех машин внутри сети
2) из вне нельзя зайти по FTP и SSH

Вернул все обратно, надо разбираться с iptables... :(
В википедии целая книга по ним, где почитать лучше?

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: Форвард портов (для камеры)
« Ответ #9 : 19 Августа 2010, 19:19:49 »
Камера то заработала, но:
1) пропал интернет для всех машин внутри сети
2) из вне нельзя зайти по FTP и SSH

Вернул все обратно, надо разбираться с iptables... :(
В википедии целая книга по ним, где почитать лучше?
а этого в задании не было... :)

нужно что-то типа такого дописать:
-t filter -A INPUT -p tcp --dport 21 -j ACCEPT
-t filter -A INPUT -p tcp --dport 22 -j ACCEPT

Пользователь решил продолжить мысль 19 Августа 2010, 19:32:00:
-t filter -A FORWARD -d $CAMERA_IP -p tcp -m tcp --dport $CAMERA_PORT -j ACCEPT

а зачем при указании "-p tcp" ещё "-m tcp", в данном случае второй критерий бесполезен... или нет?
« Последнее редактирование: 19 Августа 2010, 19:32:00 от lega911 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #10 : 19 Августа 2010, 20:03:21 »
Без -m tcp не заработает --dport

Камера то заработала, но:
1) пропал интернет для всех машин внутри сети

Не инет пропал, а, вероятно, DHCP и DNS засбоили.
-t filter -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
Если внутренний интерфейс не eth1, подставь свой.

Цитировать
2) из вне нельзя зайти по FTP и SSH

-t filter -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-t filter -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Цитировать
Вернул все обратно, надо разбираться с iptables... :(
В википедии целая книга по ним, где почитать лучше?
http://www.docum.org/docum.org/kptd/
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #11 : 19 Августа 2010, 21:33:58 »
Вот при таких данных все работает, т.е.:
- раздается интернет на сеть 192.168.0.Х (http, icq  и т.п. имеется в виду)
- из вне подключается нормально по FTP  и SSH
- единственное что не работает это камера (192.168.0.20 которая висит на 80м порту).

Вопрос как ее нормально пробросить на 192.168.0.1 чтобы извне можно было нормально видеть через http://внешний IP:80
Может поменьше "запрещать" а только правило для камеры добавить?

Заранее спасибо.

Текущая ситуация:


# Generated by iptables-save v1.4.4 on Thu Aug 19 21:29:54 2010
*nat
:PREROUTING ACCEPT [126:8138]
:POSTROUTING ACCEPT [48:7857]
:OUTPUT ACCEPT [48:7857]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Aug 19 21:29:54 2010
# Generated by iptables-save v1.4.4 on Thu Aug 19 21:29:54 2010
*filter
:INPUT ACCEPT [438:51102]
:FORWARD ACCEPT [725:176324]
:OUTPUT ACCEPT [387:53181]
COMMIT
# Completed on Thu Aug 19 21:29:54 2010

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: Форвард портов (для камеры)
« Ответ #12 : 19 Августа 2010, 21:39:27 »
Без -m tcp не заработает --dport
в доке на вики есть примеры:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t mangle -I PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 120 --on-port 3129
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
и тп. без указания "-m tcp"

Пользователь решил продолжить мысль 19 Августа 2010, 21:41:26:
а вот это у меня на боевом серере работает
iptables -A INPUT -p tcp --dport 80 -j ACCEPTтоже --dport без -m tcp
« Последнее редактирование: 19 Августа 2010, 21:41:26 от lega911 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #13 : 19 Августа 2010, 22:59:59 »
Может поменьше "запрещать" а только правило для камеры добавить?

Может, таки разобраться с iptables? Тем более я уже конкретно сказал, что сделать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xenoman

  • Автор темы
  • Новичок
  • *
  • Сообщений: 44
    • Просмотр профиля
Re: Форвард портов (для камеры)
« Ответ #14 : 20 Августа 2010, 16:00:10 »
Закрыл вопрос на много проще:
sudo iptables -t nat -A PREROUTING -p tcp -d 217.15.26.214 --dport 81 -j DNAT --to-destination 192.168.0.20:81
sudo iptables -A FORWARD -i eth0 -d 192.168.0.20 -p tcp --dport 81 -j ACCEPT

Предварительно перевел на 81й порт камеру.

 

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