Ru-Board.club
← Вернуться в раздел «UNIX»

» Сайт перебрасывает на localhost

Автор: iHorsp
Дата сообщения: 28.09.2013 21:21
[more] Здравствуйте. Столкнулся с проблемой следующего рода: на компьютерах внутри сети, при переходе на один сайт браузер перебрасывает на адрес 127.0.0.1.
Сеть состоит с около сотни компьютеров. Заходить на сайт пробовал с разных ПК - результат тот же. Ничего лишнего в файле hosts (все ПК под Windows) нет.
Во главе сети стоит сервер с ОС Ubuntu 12.04.2 LTS. Настроено PPPoE, NAT, DNS, DHCP.
На сервере находятся два сайта (установлены Apache, MySQL). Один сайт доступен по адресу: ip-адрес, второй: ip-адрес\папка. Для обоих сайтов созданы А-записи у DNS провайдера и созданы соответствующие Virtual Hosts в Apache.
Из вне оба сайта видны по своим адресам и отлично работают. Изнутри (любой ПК сети) работает лишь сайт, который ссылается сразу на ip-адрес. Второй же сайт переадресовывается на 127.0.0.1. Если ко второму сайту обратиться по адресу "ip-адрес\папка" то сайт тоже работает. Но хотелось бы, чтобы у сайта было нормальное имя, а не ip-адрес.
Вот что выдает любой из компьютеров по запросу nslookup:
C:\Users\admin>nslookup site.com
Сервер: UnKnown
Address: 192.168.1.1
Имя: site.com
Address: 127.0.0.1
192.168.1.1 - сервер. [/more]
Автор: Alukardd
Дата сообщения: 29.09.2013 15:24
iHorsp
Так а что в настройках вашего DNS сервера на Ubuntu, что там вообще настроено, ISC BIND или тот же dnsmasq? Это же он ответ отдаёт с ip-адресом 127.0.0.1.
Автор: iHorsp
Дата сообщения: 30.09.2013 12:04
Настроен dnsmasq.
В /etc/dnsmasq.conf не закоментированные строки, лишь эти:
dhcp-range=192.168.1.125,192.168.1.254,255.255.255.0,1h
listen-address=127.0.0.1, 192.168.1.1
Автор: Alukardd
Дата сообщения: 30.09.2013 13:01
iHorsp
Тогда он должен отправлять запрос вышестоящему DNS серверу, который он смотрит в /etc/resolv.conf файле.

Можете вручную взять оттуда первую строку содержащую nameserver (только не 127.0.0.1) и выполнить команду на вашем сервере: dig site.com @<ip-адрес nameserver'а>. Ответ должен прийти явно не 127.0.0.1. В противном случае смотрите то, что прописали на DNS сервере провайдера.

Кто-то же Вам отдаёт ответ 127.0.0.1...
Автор: iHorsp
Дата сообщения: 30.09.2013 13:44
У меня в /etc/resolv.conf содержится лишь это.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search имя_провайдера

Я так понимаю, через serach я получаю DNS от провайдера. А как узнать какие DNS я получаю, или какой мне возвращает ответ 127.0.0.1?
Автор: Alukardd
Дата сообщения: 30.09.2013 15:27
iHorsp
нет, search — это другое.

Если ближайший DNS сервер к которому Вы обращаетесь рекурсивный, то все дальнейшие запросы он делает за Вас, а Вам возвращает только конечный ответ.

А где ответ, который я вас просил показать?
Цитата:
dig site.com @<ip-адрес nameserver'а провайдера>


Пропишите log-queries в конфиг dnsmasq и посмотрите как и куда идут запросы, по умолчанию он кажется в syslog пишет.
Автор: golychev
Дата сообщения: 30.09.2013 18:00
iHorsp
в resolv.conf пропишите nameserver 8.8.8.8
или настройте свой ДНС сервер так чтобы он делал forward на 8.8.8.8
тогда имена интернета будут отдаваться правильно.

если у вас не открывается внутренний сайт, то вам надо создать зону в днс, которая будет ответственна за записи site.com вашего внутреннего домена.

Страницы: 1

Предыдущая тема: sshguard


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.