Пропустить навигацию.

Пара трюков в работе: dns сервера, /etc/hosts и vim

Так случилось, что ночью перестал открываться liveinternet.ru, а ping liveinternet.ru показал, что пинг идёт на 127.0.0.1.

«Хм, странно,» — cказал я себе: «это не винда и вирусов быть не должно». Посмотрев файл /etc/hosts понял что дело не в нём. Там только мои записи были.

Хорошо, тогда попробуем посмотреть цепочку запросов-ответов.

whois liveinternet.ru

% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http www ripn.net/about/servpol.html#3.2 (in Russian)
% http www ripn.net/about/en/servpol.html#3.2 (in English).

domain: LIVEINTERNET.RU
nserver: ns.liveinternet.ru. 88.212.202.56
nserver: ns2.liveinternet.ru. 88.212.196.87
nserver: ns3.liveinternet.ru. 194.226.96.8
nserver: ns4.liveinternet.ru. 193.232.130.14
state: REGISTERED, DELEGATED, VERIFIED
org: Ventail Limited
phone: +7 495 6264199
fax-no: +7 495 6264199
e-mail: yury at li.ru
registrar: RUCENTER-REG-RIPN
created: 2002.09.16
paid-till: 2010.09.17
source: TCI

Last updated on 2010.04.29 02:13:42 MSK/MSD

Находим НС сервера и отправляем им запрос на получение IP адреса сервера, который должен нам отдать html страницы сайта:

dig @88.212.202.56 liveinternet.ru

; <<>> DiG 9.6.0-APPLE-P2 <<>> @88.212.202.56 liveinternet.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43612
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;liveinternet.ru. IN A

;; ANSWER SECTION:
liveinternet.ru. 10800 IN A 88.212.196.88
liveinternet.ru. 10800 IN A 88.212.196.87

;; AUTHORITY SECTION:
liveinternet.ru. 10800 IN NS ns2.liveinternet.ru.
liveinternet.ru. 10800 IN NS ns4.liveinternet.ru.
liveinternet.ru. 10800 IN NS ns3.liveinternet.ru.
liveinternet.ru. 10800 IN NS ns.liveinternet.ru.

;; ADDITIONAL SECTION:
ns.liveinternet.ru. 10800 IN A 88.212.202.56
ns2.liveinternet.ru. 10800 IN A 88.212.196.87
ns3.liveinternet.ru. 10800 IN A 194.226.96.8
ns4.liveinternet.ru. 10800 IN A 193.232.130.14

;; Query time: 104 msec
;; SERVER: 88.212.202.56#53(88.212.202.56)
;; WHEN: Thu Apr 29 02:17:47 2010
;; MSG SIZE rcvd: 200

Ага, в секции ответов видим айпишник 88.212.196.88, его и возьму. Осталось добавить только жёсткую связку домен-айпишник в файл /etc/hosts, и тогда при обращении к домену все запросы пойдут на указанный айпиадрес (именно так под виндой орудуют трояны, переправляя трафик с вкусных сайтов на айпишник своего сервера, где уже делают с ним всё что хотят).

Мы ищем простые пути? Нет!

vim /etc/hosts

Я добавил в конец пару строк:

88.212.196.88 liveinternet.ru
88.212.196.88 www.liveinternet.ru

После сохранения всё заработало.

ps. Дело было в Mac OS X, но я-то знаю, что во фряхе этот трюк тоже прокатил бы! Если что — поправьте ;)

pps. Утром стукну провайдеру, кажется у него косяк.