
Итак, я настроил веб-сервер LAMP на дистрибутиве сервера Ubuntu 14.04 и установил на нем owncloud и wordpress. Он подключен к сети через Ethernet, и, насколько я могу судить, соединение хорошее (он может пинговать сайты и получать обновления без проблем). Пока я подключен к беспроводной сети через маршрутизатор, к которому подключен сервер (та же сеть), я могу получить доступ к wordpress и owncloud без проблем. Однако проблема возникает, когда я пытаюсь получить к ним доступ из другого сетевого местоположения (например, из своей квартиры). Сессия просто истекает по времени.
Я проверил переадресацию портов (маршрутизатор ZyXEL PK5001Z-CenturyLink) для портов 80 и 443, как указано в инструкции.http://portforward.com/english/routers/port_forwarding/ZyXEL/PK5001Z-CenturyLink/Apache.htm. Я пробовал пинговать каждый из этих портов по IP-адресу сервера, но безуспешно.
Я новичок в программировании и работе в сети, так что это, вероятно, легко исправить, я просто не знаю, где искать. Буду очень признателен за любые предложения. Информация о сервере и адресах приведена ниже. Заранее спасибо.
IP-адрес: 192.168.0.170
URL: fernweh.ddns.net "/wordpress" или "/owncloud"
динамический ip назначен через noip.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ОБНОВЛЕНИЕ
Хорошо, я настроил noip2, как было предложено, но все равно безрезультатно. Я также настроил переадресацию портов на пару портов повыше (как было предложено), все равно ничего.
Затем я проверил, какие порты были на самом деле открыты, используя
'nmap -v -sT local'
Который нашел 1000 портов, только 2 из которых не были отфильтрованы
'80/tcp http open
443/tcp https closed'
Нужно ли мне открывать больше портов с помощью
'iptables -A INPUT -p tcp --dport "port number" -j INPUT'
Или это не имеет значения?
решение1
192.168.0.170 — это частный IP-адрес, который сервер использует в вашей частной локальной сети. Он может использоваться кем угодно, и по этой причине никогда не маршрутизируется в Интернет. Чтобы получить доступ к Интернету, вы указали свой маршрутизатор в качестве шлюза по умолчанию. Вы уже это знаете, потому что включили переадресацию портов на маршрутизаторе.
Когда я пингую ваш адрес DDNS, fernweh.ddns.net
он преобразуется в ваш внутренний IP
$ ping fernweh.ddns.net
PING fernweh.ddns.net (192.168.0.170) 56(84) bytes of data.
Это не может сработать по причинам, указанным выше.
Я полагаю, вы уже используете клиент NoIP? Если да, перенастройте его
sudo /usr/local/bin/noip2 -C
Если нет, скачайте и установите его.как описано. Поскольку давать ссылку и ничего больше не является хорошим тоном:
Загрузите исходный tar-архив, например, в домашнюю папку и распакуйте
cd ~/Downloads
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/
Перейдите в режим root: sudo -s
и установите
make install
Наконец, вам нужно либо запустить его noip2
, либо сделать службой, чтобы он запускался во время загрузки. (См. README.first
в исходной папке)
Он скомпилирует двоичные файлы и проведет вас через процесс настройки.
Более того:
- Вы не можете пинговать порт.
ping
работает, отправляя пакеты ICMP. В отличие от TCP/UDP, ICMP не имеет понятия порта. Вполне может быть, что ваш маршрутизатор и/или интернет-провайдер блокируют пинги к вам. - Как уже упоминали в комментариях @Zacharee1 и @Daniel, вполне может быть, что ваш интернет-провайдер блокирует известные порты, такие как HTTP(S). Запустите свой веб-сервер на высоком порту. Таким образом вы также получите очень слабую защиту от атак, поскольку для обнаружения работающего веб-сервера необходимо полное сканирование портов.Обратите внимание, что это недостаточная мера безопасности!Поддерживайте актуальность установок WordPress и OwnCloud.