Български | English | Spanish |
 

News

15.08.2016

 HIKVISION Authorised Installer

03.11.2016

deepXIT BlackHat EU, London

25.01.2016

[deep eSupport] by TeamViewer
Windows, MacOS, Linux, iPhone/iPad iOS, AndroidOS


Login

Advetising

Home :. Services :. WiFi :. Блокиране на сайтове/хостове посредством DD-WRT
 
Блокиране на сайтове/хостове посредством DD-WRT

В тази тема, която предполагам, че ще е интересна ще използваме малко техники за по напреднали потребители и/или ентусиасти и последствията от незнаене си е изцяло за Ваша сметка

В основата на скрипта лежи идеята за блокиране на някои хостове/услуги на ниво рутер с цел по голяма производителност или ако искате с цел да спазваме иранският шериат
Най голямото предимство от използваните техники е ограничаване на рекламата, да точно онези мигащи и святкащи банери, които предполагам много от Вас ненавиждат 

Ще бъдат разгледани няколко положения описани в документацията на DD-WRT или полуавторски скриптове и нахвърляни идеи 
(вж. http://www.dd-wrt.com/wiki/index.php/Ad_blocking)

//ЗА ПРЕВОД
deep Unslaver DD-WRT Script v 1.0

Цитат:
The meaning of the script is based on custom HOSTS file loaded into the router and loading/refreshing it every Friday at 23:45 which can be used to block AD servers or use our own custom based HOSTS.

Ако желаем да използваме собствен HOSTS файл, което горещо препоръчвам, то най добре следвайте стъпките посочени тук.

Препоръчително си създаваме HOSTS файл и си го качваме на наш сървър.
(ако ме питате защо, ами защото аз специално имам и други хостове освен Facebook, Twitter, etc.), които подлежат на блокиране  )

Посочената стъпка може да се избегне използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

hosts.txt 
стандартна ANSI кодировка - *

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
#	error_404 presents MegaBlocker ACTA/SOPA/PIPA Unslaver
#	No Pay[in] No Gain
#
# Block Facebook Servers
#
127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com
127.0.0.1 m.facebook.com
127.0.0.1 touch.facebook.com
127.0.0.1 connect.facebook.net
127.0.0.1 api-read.facebook.com
127.0.0.1 app.facebook.com
127.0.0.1 apps.facebook.com
127.0.0.1 api.facebook.com
127.0.0.1 iphone.facebook.com
127.0.0.1 *.channel40.facebook.com
127.0.0.1 *.channel61.facebook.com
127.0.0.1 blog.facebook.com
127.0.0.1 upload.facebook.com
127.0.0.1 b.static.ak.fbcdn.net

Самият HOSTS може да си модифицирате по свой образ и подобие вж. най долу

Описание какво точно прави скрипта:
- Скрипта създава временна директория /tmp/dlhosts
- Командата и сакралните символи: tr -d '\015\032'
те премахват ^M (carriage return) от края на всеки ред на сваленият HOSTS файл. (*)
- Сваля актуална версия на "нашият" HOSTS файл.
- Определя права за писане и четене на самият HOSTS файл
- Указва на cron всеки петък в 23:45 да изпълнява посоченият скрипт.
След влизане в контролният панел на рутера активираме последователно

1. в Basic Setup 
Use DNSMasq for DHCP - ЧЕКИРАНО 
Use DNSMasq for DNS - ЧЕКИРАНО 
DHCP-Authoritative - ЧЕКИРАНО 

2. в Services в секция DNSMasq
DNSMasq - ЧЕКИРАНО 
Local DNS - ЧЕКИРАНО

За следващата точка има много спорове, кое е по правилното решение, за което аз прилагам и двете.
(вж. най долу статията)

DNSMasq daemon (the process that is responsible for DNS-name to IP translations) which will be used directly by default. As such, incorrect syntax here will cause the service to crash and leave the router unable to resolve IP addresses for domain names



3. Добавете в допълнителното поле на Additional DNSMasq Options следното:

addn-hosts=/tmp/dlhosts

или използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

4. Погледнете, че cron е ВКЛЮЧЕН
Administration > cron ENABLED

Тази точка може да се избегне използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

5. Отидете на Administration > Commands, после копирайте и поставете (copy/paste) скрипта в посоченото поле и впоследствие кликнете върху "Save StartUp"

blocker script

Код:
logger WAN UP Script Executing 
sleep 5 
test -s /tmp/dlhosts 
if [ $? == 1 ] ; then 
echo -e "#!/bin/sh\nwget -O - http://domain.com/hosts.txt | grep 127.0.0.1 | tr -d '\015\032' | sed -e '2,\$s/127.0.0.1/0.0.0.0/g' -e 's/[[:space:]]*#.*$//' > /etc/hosts\nlogger DOWNLOADED http://domain.com/hosts.txt\nkillall -1 dnsmasq" > /tmp/dlhosts 
chmod 777 /tmp/dlhosts 
/tmp/dlhosts 
fi
ln -s /tmp/dlhosts /etc/hosts
echo "45 23 * * 5 root /tmp/dlhosts" >> /tmp/crontab

Тази точка може да се избегне използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

6. Отиваме на Administration > Commands, отново копираме и поставяме (copy/paste) скрипта в полето и клик върху бутон "Save Firewall"

Код:
/tmp/dlhosts

Тази точка може да се избегне използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

7. Отиваме на таб NAT / QoS > UPnP
Уверете се че услугата UPnP е в режим DISABLE

8. Отиваме на Administration > Management
Уверете се че услугата JFFS2 е в режим ENABLE

The Journaling Flash File System (JFFS) allows you to have a writable Linux File System on a DD-WRT enabled router. It is used to store user programs like Ipkg and data into otherwise inaccessible flash memory. This allows you to save custom configuration files, host custom Web pages stored on the router and many other things not capable without JFFS.



Тази точка може да се избегне използвайки посоченият по-долу в края на статията код, който се слага в Additional DNSMasq Options

9. На всички клиентски машини да се изпълни следната команда:
Start > CMD [Run As Administrator]
ipconfig /flushdns [ENTER]

10. Отворете който и да е браузер и опитайте да достъпите посочените сайтове или да заредите с ads такива, и ако изпозвате HOSTS за да блокирате рекламите на ниво рутер

Селектирани ads сървърлистове, които правят защитата достатъчно гъвкава и добра.
YOGO
MVPS

================================================== 
Допълнително да опиша посредством IPTABLES + за Mikrotik и може би Tomato

IPTABLES и DD-WRT HowTo
http://www.dd-wrt.com/wiki/index.php/Iptables_command

Genius at work evil code

iptables -I INPUT -i br0 -p tcp --dport facebook.com/profile.php?id=XXXXXXXX -j REJECT
iptables -I INPUT -i br0 -p tcp --dport facebook.com/username -j REJECT
iptables -I INPUT -i br0 -p tcp --dport m.facebook.com -j REJECT

Със знака X отбелязваме номера на профила и потребителското име, като основа за блокиране на профил
(брех мама му хем фейсбук работи, хем не мога да си вляза в профила)

Ако желаем да блокираме WiFi и LAN или само LAN или само WiFi то във firewall за IPTABLES трябва да сменим интерфейса в командата следвайки логиката:

br0 = 4 LAN порта и WiFi заедно
vlan0 = Само 4 LAN порта
eth1 = Само WiFi порт

Да добавя и информация за DD-WRT и Pixelserv

Pixelserv - изключително малък и компактен уеб-сървър, който генерира картинка с размер 1px X 1px и я сервира, като вторичен HTTP сървър от рутера, като при заявка с определени параметри, които впоследствие ще опишем и конфигурираме да може да връща в отговор празна картинка с описаният по-горе размер.

Additional DNSMasq Options - Блокират се следните услуги описани по-долу.

Посочените тук сайтове не претендират за 100% актруалност и достоверност. Ако някоя услуга спре да Ви работи, то най добре проверете дали всичко е направено, като хората.
Както споменах по-горе DNSMasq има възможност вместо писането на скрипт да използваме твърдо зададени хостове в рутера БЕЗ използването на външен HOSTS файл.
в точка 3. вместо:

addn-hosts=/tmp/dlhosts

добавяме всичко описано по-долу и информативно кратко описание какво се блокира преди самият код!

## Блокиране на реклами от Google, MSN Messenger, Facebook, YouTube and Yahoo messenger

copy/paste копирайте/поставете

 

address=/www.googleadservices.com/127.0.0.1
address=/googleadservices.com/127.0.0.1
address=/partner.googleadservices.com/127.0.0.1
address=/googleads.g.doubleclick.net/127.0.0.1
address=/googlesyndication.com/127.0.0.1
address=/syndicate.googlesyndication.com/127.0.0.1
address=/syndicate2.googlesyndication.com/127.0.0.1
address=/syndicate.google.com/127.0.0.1
address=/syndicate2.google.com/127.0.0.1
address=/adwords.google.com/127.0.0.1
address=/google-analytics.com/127.0.0.1
address=/ssl.google-analytics.com/127.0.0.1
address=/www.google-analytics.com/127.0.0.1
address=/pagead2.googlesyndication.com/127.0.0.1
address=/pagead.googlesyndication.com/127.0.0.1
address=/adservices.google.com/127.0.0.1
address=/imageads.googleadservices.com/127.0.0.1
address=/imageads1.googleadservices.com/127.0.0.1
address=/imageads2.googleadservices.com/127.0.0.1
address=/imageads3.googleadservices.com/127.0.0.1
address=/imageads4.googleadservices.com/127.0.0.1
address=/imageads5.googleadservices.com/127.0.0.1
address=/imageads6.googleadservices.com/127.0.0.1
address=/imageads7.googleadservices.com/127.0.0.1
address=/imageads8.googleadservices.com/127.0.0.1
address=/imageads9.googleadservices.com/127.0.0.1
address=/apps5.oingo.com/127.0.0.1
address=/oingo.com/127.0.0.1
address=/www.oingo.com/127.0.0.1
address=/www.appliedsemantics.com/127.0.0.1
address=/service.urchin.com/127.0.0.1
address=/ads.chitika.net/127.0.0.1
address=/ads1.chitika.net/127.0.0.1
address=/blogads.chitika.net/127.0.0.1
address=/ca.chitika.net/127.0.0.1
address=/mm.chitika.net/127.0.0.1
address=/scripts.chitika.net/127.0.0.1

address=/advertising.microsoft.com/127.0.0.1
address=/analytics.live.com/127.0.0.1
address=/msads.net/127.0.0.1
address=/ads.msn.com/127.0.0.1
address=/ads1.msn.com/127.0.0.1
address=/rad.msn.com/127.0.0.1
address=/advertising.microsoft.com/127.0.0.1
address=/view.atdmt.com/127.0.0.1
address=/rad.live.com/127.0.0.1
address=/live.rads.msn.com/127.0.0.1
address=/microsoft.com/127.0.0.1

address=/creative.ak.fbcdn.net/127.0.0.1
address=/creative.ak.facebook.com/127.0.0.1
address=/static.ak.fbcdn.net/127.0.0.1
address=/www.facebook.com/127.0.0.1
address=/facebook.com/127.0.0.1
address=/www.static.ak.fbcdn.net/127.0.0.1
address=/login.facebook.com/127.0.0.1
address=/www.login.facebook.com/127.0.0.1
address=/fbcdn.net/127.0.0.1
address=/www.fbcdn.net/127.0.0.1
address=/fbcdn.com/127.0.0.1
address=/www.fbcdn.com/127.0.0.1
address=/static.ak.connect.facebook.com/127.0.0.1
address=/www.static.ak.connect.facebook.com/127.0.0.1
address=/m.facebook.com/127.0.0.1
address=/touch.facebook.com/127.0.0.1
address=/connect.facebook.net/127.0.0.1
address=/api-read.facebook.com/127.0.0.1

address=/doubleclick.net/127.0.0.1
address=/content.codelnet.com/127.0.0.1
address=/ero-advertising.com/127.0.0.1
address=/ads.ero-advertising.com/127.0.0.1
address=/data.ero-advertising.com/127.0.0.1
address=/layerads.ero-advertising.com/127.0.0.1
address=/s0.2mdn.net/127.0.0.1
address=/2mdn.net/127.0.0.1
address=/content.yieldmanager.com/127.0.0.1
address=/adserver.yahoo.com/127.0.0.1
address=/insider.msg.yahoo.com/127.0.0.1
address=/view.atdmt.com/127.0.0.1
address=/secure-uk.imrworldwide.com/127.0.0.1

address=/adserver.yahoo.com/127.0.0.1
address=/ad.yieldmanager.com/127.0.0.1
address=/insider.msg.yahoo.com/127.0.0.1

В посоченият тук случай реално част от точките описани по-горе отпадат [456 и 8 както и създаването и/или използванео на външен HOSTS файл.

Да допълня с новите MSN попълнения от "жътвата" тези дни

c.msn.com
contacts.live.com
contacts.msn.com
gateway.messenger.hotmail.com
messenger.hotmail.com
messenger.live.com
messenger.msn.com
msgr.hotmail.com
sqm.microsoft.com
webmessenger.msn.com