Зашел через веб-интерфейс в роутер, сделал "проброс" портов в NAT *:
Service Name: Web Server (HTTP)
External Port Start: 80
External Port End: 80
Protocol: TCP
Internal Port Start: 80
Internal Post End: 80
** Server IP Address: 192.168.1.2
Примечания:
* - при добавлении роутер сказал: Since port 80 is used, the Broadband Router
WEB server port will be moved to 8080.
** - адрес машины в локальной сети, на которой крутится apache
Допустим, я хочу расшарить вирт. хост с именем test.
Конфигурация (apache2.2):
/etc/apache2/ports.conf
NameVirtualHost *:80
Listen 80
/etc/apache2/httpd.conf
ServerName localhost
/etc/apache2/sites-available/test.conf (/etc/apache2/sites-enabled/test.conf - ссылка)
<VirtualHost *:80>
DocumentRoot /home/invis1ble/development/php/test/www
ServerAdmin admin@test
ServerName test
ErrorLog /home/invis1ble/development/php/test/error.log
CustomLog /home/invis1ble/development/php/test/access.log common
</VirtualHost>
соответственно в /home/invis1ble/development/php/test/www/ находятся скрипты
На данный момент я могу попасть только по адресу http://test/, т.е. локально. Хотелось бы иметь доступ по ip из-вне.
Вопросы: чего не хватает, что нужно поменять?
PS. dyndns.com не предлагать, домен мне не нужен.
Спустя 3 минуты, 18 секунд (1.05.2012 - 12:48) Семён написал(а):
А что у тебя при такой схеме не работает все равно?
Спустя 4 минуты, 37 секунд (1.05.2012 - 12:52) Invis1ble написал(а):
Семён
не работает, а должно что-ли? Я бы удивился,если бы работало, потому что непонятно, как апач узнает, что я хочу именно test, а не test2 например при запросе url вида http://мой_ip/
забыл добавить про hosts
/etc/hosts
не работает, а должно что-ли? Я бы удивился,если бы работало, потому что непонятно, как апач узнает, что я хочу именно test, а не test2 например при запросе url вида http://мой_ip/
забыл добавить про hosts
/etc/hosts
127.0.0.1 test
Спустя 24 минуты, 29 секунд (1.05.2012 - 13:17) Семён написал(а):
А все доперло, ну тогда нужно тут нужно плясать от того какой у тебя роутер и поддерживает ли он у тебя свой внутренний DNS сервер с настройкой маршрутов. Если на роутер поставить DD-WRT прошивку, то достаточно добавить на роутере в файл host, твой маршрут
Спустя 10 минут, 3 секунды (1.05.2012 - 13:27) Семён написал(а):
Есть еще вариант, поднять внутренний DNS сервер, там где стоит веб-сервер и указать его роутеру
Спустя 2 часа, 21 минута, 26 секунд (1.05.2012 - 15:48) Invis1ble написал(а):
Семён
перечитал кучу всего, толком ничего не понял, в голове каша... Можешь разжевать?
перечитал кучу всего, толком ничего не понял, в голове каша... Можешь разжевать?
Спустя 7 часов, 1 минута, 25 секунд (1.05.2012 - 22:50) bodja написал(а):
Сделайте типа так
NameVirtualHost 192.168.1.2:8080
Listen 8080
ServerName 192.168.1.2
ну и т.д.
NameVirtualHost 192.168.1.2:8080
Listen 8080
ServerName 192.168.1.2
ну и т.д.
Спустя 56 минут, 32 секунды (1.05.2012 - 23:46) Invis1ble написал(а):
bodja
/etc/apache2/sites-available/test.conf
/etc/apache2/ports.conf
/etc/apache2/httpd.conf
так? не работает, в логах пусто, при рестарте сервера замечаний нет...
PS. Набираю http://мой_ip:8080/
/etc/apache2/sites-available/test.conf
<VirtualHost 192.168.1.2:8080>
DocumentRoot /home/invis1ble/development/php/test/www
ServerAdmin admin@test
ServerName 192.168.1.2
ErrorLog /home/invis1ble/development/php/test/error.log
LogLevel debug
CustomLog /home/invis1ble/development/php/test/access.log common
</VirtualHost>
/etc/apache2/ports.conf
NameVirtualHost 192.168.1.2:8080
Listen 8080
/etc/apache2/httpd.conf
ServerName 192.168.1.2
так? не работает, в логах пусто, при рестарте сервера замечаний нет...
PS. Набираю http://мой_ip:8080/
Спустя 22 минуты, 38 секунд (2.05.2012 - 00:09) Invis1ble написал(а):
в hosts добавил такую строчку
хз... большую часть наугад делаю :D
127.0.0.1 192.168.1.2
хз... большую часть наугад делаю :D
Спустя 18 минут, 3 секунды (2.05.2012 - 00:27) bodja написал(а):
1 Поставте сниффер и посмотрите ,что гуляет по сетке,
может вообще не проходит через роутер.
2 Поставте свич до роутера и подключите две машины,попробуйте достучатся для начала по внутренней сетке.
3 Покупаете ящик пива и идете к знакомому админу на душевный разговор.
может вообще не проходит через роутер.
2 Поставте свич до роутера и подключите две машины,попробуйте достучатся для начала по внутренней сетке.
3 Покупаете ящик пива и идете к знакомому админу на душевный разговор.

Спустя 2 минуты, 7 секунд (2.05.2012 - 00:29) Invis1ble написал(а):
я уже и фаерволл на всякий случай отрубил
ладно, может придумаю че-нибудь еще, спасибо за советы

ладно, может придумаю че-нибудь еще, спасибо за советы

Спустя 5 минут, 12 секунд (2.05.2012 - 00:34) bodja написал(а):
Еще ,уберите всякую хрень в виде антивирусников и фаерволов,так же гляньте брандмауер винды ,они могут позакрывать порты от прослушивания.
Спустя 1 минута, 32 секунды (2.05.2012 - 00:36) Invis1ble написал(а):
Цитата |
брандмауер винды |
ну в linux'е не думаю что он присутствует

насчет фаерволлов - это да, надо без них попробовать. пока что безрезультатно
Спустя 17 минут, 17 секунд (2.05.2012 - 00:53) Семён написал(а):
Блин я правильно понял следующее:
-----
1) У тебя есть роутер (А)
2) У тебя есть компьютер-веб-сервер (Б) использующий DNS роутера (А)
3) У тебя есть компьютер (В) использующий DNS роутера (А)
----
Ты хочешь с компьютера (В) написать в браузере:
http://test/ и попасть на компьютер (Б)
----
Если да то менй настройки hosts именно в роутере, либо подымай в сети свой DNS сервер
-----
1) У тебя есть роутер (А)
2) У тебя есть компьютер-веб-сервер (Б) использующий DNS роутера (А)
3) У тебя есть компьютер (В) использующий DNS роутера (А)
----
Ты хочешь с компьютера (В) написать в браузере:
http://test/ и попасть на компьютер (Б)
----
Если да то менй настройки hosts именно в роутере, либо подымай в сети свой DNS сервер
Спустя 8 часов, 33 минуты, 38 секунд (2.05.2012 - 09:27) Invis1ble написал(а):
Семён
Цитата |
я правильно понял следующее |
нет
- У меня есть роутер A
- Есть веб-сервер на B (192.168.1.2), на котором есть несколько виртуальных хостов, ко всем из них я имею доступ локально (с того же B ), например http://example или http://test
- Есть еще один комп (192.168.1.3) - C, но к сути дела это не относится
с B и C можно выйти в интернет через роутер A, при этом "снаружи" ip будет xxx.xxx.xxx.xxx
Я хочу иметь возможность зайти на один из виртуальных хостов (пусть будет test) с любой машины в инете, набрав внешний ip (xxx.xxx.xxx.xxx) в браузере.
Сорри, что коряво объясняю, не силен в этих делах... ))
Спустя 4 часа, 6 минут, 10 секунд (2.05.2012 - 13:33) Семён написал(а):
В чем проблема тогда?
Достаточно сделать Port-Forwarding в роутере на локальный компьютер по 80 порту. Если у тебя уже куплен домен, в DNS менеджере укажи A запись твоего внешнего IP адреса, добавь в виртуальном хосте нужную запись указав ServerName и при желании ServerAlias. Если у тебя денвер - выкинь его и поставь в виртуалке готовый веб-сервер на базе FreeBSD, Debian, Ubuntu
Достаточно сделать Port-Forwarding в роутере на локальный компьютер по 80 порту. Если у тебя уже куплен домен, в DNS менеджере укажи A запись твоего внешнего IP адреса, добавь в виртуальном хосте нужную запись указав ServerName и при желании ServerAlias. Если у тебя денвер - выкинь его и поставь в виртуалке готовый веб-сервер на базе FreeBSD, Debian, Ubuntu
Спустя 22 минуты, 3 секунды (2.05.2012 - 13:55) Invis1ble написал(а):
Семён
Ты помоему читаешь через пост
У меня не денвер (под linux он вообще бывает?), а установленная и настроенная вручную связка php5.4 + apache2.2 + mysql 5.5 на Ubuntu 12.04.
Проблема в том, что Port Forwarding не помогает - сделал перенаправление с порта 8080 на роутере на 8080 компа, на котором apache. Конфигурацию сервера я выше приводил для bodja. Пробую зайти по http://xxx.xxx.xxx.xxx:8080 - не работает.
Посмотри конфиги, может я ошибся где-то.
Ты помоему читаешь через пост

У меня не денвер (под linux он вообще бывает?), а установленная и настроенная вручную связка php5.4 + apache2.2 + mysql 5.5 на Ubuntu 12.04.
Проблема в том, что Port Forwarding не помогает - сделал перенаправление с порта 8080 на роутере на 8080 компа, на котором apache. Конфигурацию сервера я выше приводил для bodja. Пробую зайти по http://xxx.xxx.xxx.xxx:8080 - не работает.
Посмотри конфиги, может я ошибся где-то.
Спустя 4 часа, 7 минут, 11 секунд (2.05.2012 - 18:02) I++ написал(а):
IP на роутере который выдает провайдер "белый" или серый?, а еще если провайдер стрим какойнить, эти удоты лочат первые 1024 порта, чтобы народ не поднимал web-серверы и другие прелести, но IP они выдают "белый".
1. Уточнить какой IP "белый или серый".
2. Использовать следующие:
httpd.conf
vhosts.conf
Затем на нужной машине которая должна заходить на test и test2 из интернетов в файл hosts (Windows) пишем:
%ИНЕТОВСКИЙ IP РОУТЕРА% test
%ИНЕТОВСКИЙ IP РОУТЕРА% test2
%ИНЕТОВСКИЙ IP РОУТЕРА% www.test
%ИНЕТОВСКИЙ IP РОУТЕРА% www.test2
И все будет арбайтунг, если IP который выдает провайдер не натится т.е белый.
Таким же способом можно прикрепить и реальные домены, в этом случае не потребуется править файл hosts нужно у доменов А записи изменить на IP, но так как он динамический, будут проблемы.
1. Уточнить какой IP "белый или серый".
2. Использовать следующие:
httpd.conf
Listen 80
vhosts.conf
NameVirtualHost test:80
<VirtualHost test:80>
DocumentRoot "/usr/local/da0/my/test"
ServerName "test"
ServerAlias "test" "www.test"
ErrorLog "/usr/local/da0/errors_logers/test.log"
</VirtualHost>
NameVirtualHost test2:80
<VirtualHost test2:80>
DocumentRoot "/usr/local/da0/my/test2"
ServerName "test2"
ServerAlias "test2" "www.test2"
ErrorLog "/usr/local/da0/errors_logers/test2.log"
</VirtualHost>
Затем на нужной машине которая должна заходить на test и test2 из интернетов в файл hosts (Windows) пишем:
%ИНЕТОВСКИЙ IP РОУТЕРА% test
%ИНЕТОВСКИЙ IP РОУТЕРА% test2
%ИНЕТОВСКИЙ IP РОУТЕРА% www.test
%ИНЕТОВСКИЙ IP РОУТЕРА% www.test2
И все будет арбайтунг, если IP который выдает провайдер не натится т.е белый.
Таким же способом можно прикрепить и реальные домены, в этом случае не потребуется править файл hosts нужно у доменов А записи изменить на IP, но так как он динамический, будут проблемы.
Спустя 1 час, 25 минут, 32 секунды (2.05.2012 - 19:28) alexbel2404 написал(а):
была такая проблема с длинком, настроил через dmz zone
Спустя 16 часов, 6 минут, 27 секунд (3.05.2012 - 11:34) Invis1ble написал(а):
I++
Цитата |
1. Уточнить какой IP "белый или серый". |
Судя по тому, что набрав в адресной строке свой ip (который например показывается в http://checkip.dyndns.org/) я попадаю на свой роутер, то белый. Или я ошибаюсь?
Цитата |
2. Использовать следующие: |
использовал. Фаервол отключен, порт форвардинг включен. Не арбайтунг.
Спустя 1 месяц, 16 дней, 4 часа, 30 минут, 45 секунд (19.06.2012 - 16:05) killer8080 написал(а):
Цитата (Invis1ble @ 1.05.2012 - 23:46) |
bodja /etc/apache2/sites-available/test.conf <VirtualHost 192.168.1.2:8080> /etc/apache2/ports.conf NameVirtualHost 192.168.1.2:8080 /etc/apache2/httpd.conf ServerName 192.168.1.2 так? не работает, в логах пусто, при рестарте сервера замечаний нет... PS. Набираю http://мой_ip:8080/ |
В таком виде оно и не будет работать. Потому что в заголовке Host будет внешний (белый) IP роутера, а в вирт хосте указан локальный IP в качестве ServerName. Задача на самом деле решается просто, нужно в дефолтовом конфиге (/etc/apache2/sites-available/default) изменить DocumentRoot на нужную директорию. А на роутере пробросить порт 8080 на 192.168.1.2:80
Спустя 6 минут, 28 секунд (19.06.2012 - 16:11) varvar написал(а):
по моему тут ServerName лишний
Цитата |
<VirtualHost 192.168.1.2:8080> DocumentRoot /home/invis1ble/development/php/test/www ServerAdmin admin@test ServerName 192.168.1.2 ErrorLog /home/invis1ble/development/php/test/error.log LogLevel debug CustomLog /home/invis1ble/development/php/test/access.log common </VirtualHost> |
Спустя 5 минут, 50 секунд (19.06.2012 - 16:17) Invis1ble написал(а):
killer8080
Спасибо, попозжа попробую
Спасибо, попозжа попробую
Спустя 14 дней, 7 часов, 17 минут, 21 секунда (3.07.2012 - 23:34) san4o написал(а):
если правильно пробросил 80 порт с роутера на свой внутренний айпи. то поидеи без никаких других плясок с бубном, из вне набрав айпи роутера все будут попадать на дефолтный виртуальный хост твоего веб сервера.
Спустя 59 минут, 6 секунд (4.07.2012 - 00:34) rooor написал(а):
Invis1ble
если с внешки хочешь зайти на хост, то пробрасываешь 80 порт на тот, который слушает апач(8080, если я правильно понял)
а на том компе, с которого хочешь зайти(внешний) в файле hosts пропиши:
внешний_ip_адрес_роутера test.ru
он должен тебя перекинуть именно на test.ru, если в файле напишешь test.ru, а в адресной строке наберёшь www.test.ru - работать не будет
ЗЫ: топик читал по диагонали))
если с внешки хочешь зайти на хост, то пробрасываешь 80 порт на тот, который слушает апач(8080, если я правильно понял)
а на том компе, с которого хочешь зайти(внешний) в файле hosts пропиши:
внешний_ip_адрес_роутера test.ru
он должен тебя перекинуть именно на test.ru, если в файле напишешь test.ru, а в адресной строке наберёшь www.test.ru - работать не будет
ЗЫ: топик читал по диагонали))
_____________
Профессиональная разработка на заказ
Я на GitHub | второй профиль