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


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

Автор Тема: Не виден сайт из внешней сети, при этом прекрасно работающий в сети локальной  (Прочитано 2255 раз)

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

Оффлайн Laitis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Здравствуйте товарищи!
С Ubuntu, а в частности с Ubuntu server 14.04 знаком не столь давно. Вообще знакомство начиналось с версии 10.
В общем, постараюсь описать проблему по-подробнее.
Так как старый сервак приказал долго жить, необходим был новый, посвежее.
Был поднят Ubuntu server 14.04, на нем настроен bind9, dhcpd, nat и squid3.
Подключение к сети через pppoe соединение. Внешний IP сервера статичен. Имеем 2 сетевые. 2я для раздачи инета в локальной сети организации.
Так же установлен LAMP cms Joomla 2.5.
Прокси прозрачный. Порты на ADSL модеме проброшены.
Проблема в следующем: имеется сайт, который работал на старом серваке, портирован по всем правилам. Во внутренней сети работает прекрасно, причем со встроенными яндекс-картами. Из внешней подключиться не могу. Пишет  connectionfailure. При всем при этом по удаленке, из внешней сети, к самому серверу подключиться могу, как по ssh, так и по ftp.
По недостатку опыта в данной сфере прошу дельного совета. Конфиги могу предоставить.

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6847
    • Просмотр профиля
Laitis,
По-умолчанию Apache2 на Ubuntu наружу смотрит, должно работать.

Давай все-таки подробнее про проброс портов и как ты проверял, что они проброшены верно?
Правила iptables ковырял? Показывай iptables-save.
Ну и конфиг Apache тоже надо показать.

Оффлайн Laitis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
В том-то и дело, что должно работать, ан нет. Сайт-то пингуется без проблем. Да и со сторонних сервисов типа http://check-host.net/ проверка проходит.
Порты по идее пробрасывал как показано тут: http://coder.v-tanke.ru/viewtopic.php?t=39&sid=3c300b52626677a2a75a6e9aa4d070fd, для D-Link DSL-2500u.
IP-tables ковырял, а вернее создал новы файлик nat, может стоило дефолтные отключить, я просто не совсем понял где они лежат. По идее, делался как прозрачный на вход-выход, на первое время.
Вот  iptables-save:
# Generated by iptables-save v1.4.21 on Tue Mar  1 06:43:36 2016
*mangle
:PREROUTING ACCEPT [6570:2408556]
:INPUT ACCEPT [6570:2408556]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6490:1072976]
:POSTROUTING ACCEPT [6546:1086668]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Tue Mar  1 06:43:36 2016
# Generated by iptables-save v1.4.21 on Tue Mar  1 06:43:36 2016
*filter
:INPUT ACCEPT [77709:18072260]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [81368:23826193]
-A FORWARD -i p4p1 -o ppp0 -j ACCEPT
-A FORWARD -i ppp0 -o p4p1 -j ACCEPT
COMMIT
# Completed on Tue Mar  1 06:43:36 2016
# Generated by iptables-save v1.4.21 on Tue Mar  1 06:43:36 2016
*nat
:PREROUTING ACCEPT [4935:298935]
:INPUT ACCEPT [5602:336746]
:OUTPUT ACCEPT [4994:416488]
:POSTROUTING ACCEPT [4994:416488]
-A PREROUTING ! -d 192.168.0.0/24 -i ppp0 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
COMMIT
Вот сам конфиг ната (p4p1 сетевая смотрящая внутрь, p4p2 - наружу, лень было переименовывать :) ):
#!/bin/bash

#Включем форвардинг пакетов
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_nat_pptp

#очищаем правила
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -t nat -X
iptables -t mangle -X

#разрешаем сразу все
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i p4p1 -o ppp0 -j ACCEPT

#разрешаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o p4p1 -j ACCEPT

#маскарадинг
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.1/24 -j MASQUERADE

# Заворачиваем http на прокси (для squid)
iptables -t nat -A PREROUTING -i ppp0 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128

Вот конфиг апача:
Mutex file:${APACHE_LOCK_DIR} default

PidFile ${APACHE_PID_FILE}

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

HostnameLookups Off

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>

<Directory /var/www/>
AllowOverride All
Require all granted
</Directory>

AccessFileName .htaccess

<FilesMatch "^\.ht">
Require all denied
</FilesMatch>

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

ServerName localhost

Вот конфиг сайта:
<VirtualHost *:80>
ServerName rc-nadejda.ru
ServerAlias rc-nadejda.ru www.rc-nadejda.ru
ServerAdmin webmaster@rc-nadejda.ru

DocumentRoot /var/www/rc-nadejda.ru

<Directory /var/www/rc-nadejda.ru/>
                 AllowOverride All
</Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Кстати, при установке операционки был введен домен сервера, аналогичный домену сайта, может в этом косяк?

Пользователь решил продолжить мысль 01 Марта 2016, 13:24:01:
Проблема решилась.
Был не правильно настроен нат,
А именно вот эти строчки:
#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i p4p1 -o ppp0 -j ACCEPT

#разрешаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o p4p1 -j ACCEPT

Правильно выглядит вот так:
#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i p4p1 -o p4p2 -j ACCEPT

#разрешаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i p4p2 -o p4p1 -j ACCEPT
Напомню, p4p2 смотрит наружу, а p4p1 смотрит внутрь.
Маскарадинг так и остается на ррр0.
Может кому поможет)
« Последнее редактирование: 01 Марта 2016, 13:24:01 от Laitis »

 

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