Перейти к собственно контенту

Блог@DeathStar.Name

Блог системного администратора

Архив

Рубрика: OS X

Случилось так, что у одного из сайтов появилось какое-то «левое» зеркало,  которое сильно подбило позиции в поисковике. Я думал что домен просто направили на IP того сервера, на который ссылался домен. Прописал в конфиг виртуального хоста строки, запрещающие доступ к сайту по IP адресу

if ($host !~ ^(example.com|www.example.com)$ ) {
return 403;
}

Но не помогло, так как выяснилось что сайт на «левом» зеркале парсился PHP скриптами через CURL. Сразу возникла идея просто запретить доступ по User Agent, но он был изменен на GoogleBot/2.1 , и если его забанить то и поисковые боты не смогут попасть на сайт. Осталось только 1 решение, сравнивать User Agent и IP адрес, с которого был запрос, и если это реальные IP адреса гуглобота, то пропускать, иначе отдавать ошибку 403. В конфиг nginx добавляем в секцию http следующие строки ( это все IP адреса и подсети, которые использует гуглобот и которые мне удалось найти, если есть чем дополнить пишите в коментариях ):

geo $googlebotip {
default 0;
64.18.0.0/20 1;
64.233.160.0/19 1;
66.102.0.0/20 1;
66.249.80.0/20 1;
72.14.192.0/18 1;
74.125.0.0/16 1;
108.177.8.0/21 1;
172.217.0.0/19 1;
173.194.0.0/16 1;
207.126.144.0/20 1;
209.85.128.0/17 1;
216.58.192.0/19 1;
216.239.32.0/19 1;
203.208.60.0/24 1;
66.249.64.0/20 1;
72.14.199.0/24 1;
209.85.238.0/24 1;
66.249.90.0/24 1;
66.249.91.0/24 1;
66.249.92.0/24 1;
2001:4860:4000::/36 1;
2404:6800:4000::/36 1;
2607:f8b0:4000::/36 1;
2800:3f0:4000::/36 1;
2a00:1450:4000::/36 1;
2c0f:fb50:4000::/36 1;
2001:4860:4801:1::/64 1;
2001:4860:4801:2::/64 1;
2001:4860:4801:3::/64 1;
2001:4860:4801:4::/64 1;
2001:4860:4801:5::/64 1;
2001:4860:4801:6::/64 1;
2001:4860:4801:7::/64 1;
2001:4860:4801:8::/64 1;
2001:4860:4801:9::/64 1;
2001:4860:4801:a::/64 1;
2001:4860:4801:b::/64 1;
2001:4860:4801:c::/64 1;
2001:4860:4801:d::/64 1;
2001:4860:4801:e::/64 1;
2001:4860:4801:2001::/64 1;
2001:4860:4801:2002::/64 1;
104.132.0.0/21 1;
104.132.12.0/24 1;
104.132.128.0/24 (далее…)

В дополнение к статье Собственный Dynamic DNS сервер на базе Bind решил написать статью, для тех у кого есть домен c использованием Clouflare.com. В настройках CF получаем API Key. Допустим zone называется deathstar.name , мне нужно было для домашнего файлохранилища как и в предыдущей статье менять IP по крону ( метод получения внешнего немного изменен, но можно и использовать метод с предыдущей статьи )

Скрипт находится тут

ID всех записей можно узнать командой:

curl https://www.cloudflare.com/api_json.html   -d 'a=rec_load_all'   -d 'tkn=ВАШ API ключ'   -d 'email=deathstar@deathstar.name'   -d 'z=deathstar.name'

тут находим запись netdisk.deathstar.name и левее названия будет rec_id. Ставим в крон аналогично предыдущей статьи и радуемся.

Нужно было поставить PC-BSD на ПК, но кроме как OS X под рукой ничего не было, и болванок не было тоже, но была флешка на 8гб
Преобразуем файл .iso в .img используя опцию конвертировать в утилите hdiutil

hdiutil convert -format UDRW -o ~/Desktop/PCBSD10.2-RELEASE-08-19-2015-x64-DVD-USB.img ~/Desktop/PCBSD10.2-RELEASE-08-19-2015-x64-DVD-USB.iso
Видим следующее:
Читаю Driver Descriptor Map (DDM : 0)…
Читаю PCBSD_INSTALL (Apple_ISO : 1)…
Читаю Apple (Apple_partition_map : 2)…
Читаю PCBSD_INSTALL (Apple_ISO : 3)…
Читаю Gap0 (ISO9660_data : 4)…
Читаю HFSPLUS_Hybrid (Apple_HFS : 5)…
..............................................................................
Читаю Gap1 (ISO9660_data : 6)…
..............................................................................
Прошло времени: 2m 56.263s
Скорость: 23.7 Mб/с
Сохранений: 0.0 %
created: /Users/deathstar/Desktop/PCBSD10.2-RELEASE-08-19-2015-x64-DVD-USB.img.dmg

Переименовываем файл

mv /Users/deathstar/Desktop/PCBSD10.2-RELEASE-08-19-2015-x64-DVD-USB.img.dmg /Users/deathstar/Desktop/PCBSD10.2-RELEASE-08-19-2015-x64-DVD-USB.img

Примечание: OS X пытается подставить .dmg в выходной файл автоматически.

Вставляем флешку в мак

В терминале вводим команду
diskutil list
и ищем нашу флешку ( в моем случае это /dev/disk2 ):
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 499.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *498.9 GB disk1
Logical Volume on disk0s2
(далее…)