W przypadku publicznego dynamicznego adresu IP usługa DynDNS jest bardzo pomocna a niekiedy wręcz niezbędna. Poniżej przedstawiony jest skrypt konfiguracyjny do MikroTika 6.24, używający serwera changeip.com. Continue reading
MikroTik – blokowanie programów p2p przy użyciu protokołów L7
Od wersji 6.39 RouterOS, protokoły P2P można zablokować wyłącznie używając wyrażeń regularnych (tzw. Regexp) w zakładce Layer 7 Protocols (w Filter Rule -> General zniknęła funkcja P2P). Poniżej przedstawiona są restrykcyjne reguły, które bardzo skutecznie blokują ruch P2P (w skrypcie poniżej tylko BitTorrent).
Cała konfiguracja opiera się na 5 krokach.
Dodanie wpisów L7:
/ip firewall layer7-protocol add comment="bittorrent" name=bittorrent regexp="^(\\x13bitt\ orrent protocol|azver\\x01\$|get /scrape\\\?info_hash=get /announce\\\?inf\ o_hash=|get /client/bitcomet/|GET /data\\\?fid=)|d1:ad2:id20:|\\x08'7P\\)[\ RP]"
Markowanie ruchu BitTorrent:
/ip firewall mangle add action=mark-connection chain=forward comment=mark_dw_connection in-interface=pppoe-out1 log-prefix=\ all-connections new-connection-mark=mark_dw_connection passthrough=yes add action=mark-packet chain=forward comment=mark_dw_packet connection-mark=mark_dw_connection new-packet-mark=\ mark_dw_packet passthrough=yes add action=mark-packet chain=forward comment=torrent_dw_pk layer7-protocol=bittorrent log-prefix=BitTorrent-log \ new-packet-mark=torrent_dw_pk packet-mark=mark_dw_packet passthrough=no
Dodanie hostów do listy P2P-users, którym będą blokowane porty 0 – 1024. Komputery, które mają mieć pełen dostęp do internetu i mogą ściągać z BT można umieścić na liście, np o nazwie allow-p2p:
/ip firewall filter add action=add-src-to-address-list address-list=P2P-Conn address-list-timeout=30m chain=forward comment=\ "bittorrent - dodanie hostow na liste do blokowania portow" log=yes log-prefix=P2P-users packet-mark=\ torrent_dw_pk src-address-list=!allow-p2p
Blokowanie portów komputerom, które korzystają z BitTorrent:
/ip firewall raw add action=drop chain=prerouting comment="Blokowanie portow hostom korzystajacym z programow p2p" dst-port=!0-1024 \ protocol=tcp src-address-list=P2P-Conn add action=drop chain=prerouting dst-port=!0-1024 protocol=udp src-address-list=P2P-Conn
Jest to ostatnia reguła blokująca wcześniej zamarkowane pakiety – na wypadek gdy ruch przejdzie przez niezablokowany port z przedziału 0 – 1024.
/ip firewall filter add action=drop chain=forward comment=\ "BitTorrent - blokowanie pozostalego ruchu BitTorrent, przechodzacego przez niezablokowane porty: 0 - 1024" \ packet-mark=torrent_dw_pk src-address-list=!allow-p2p
Poniżej przedstawione są filtry L7 (definicje Regexp), które blokują również inne protokoły (programy) p2p:
add name=chomikuj regexp="^.+(chomikuj.p).*\$" add name=emule regexp="^[\\xc5\\xd4\\xe3-\\xe5].\?.\?.\?.\?([\\x01\\x02\\x05\\x14\\x15\\x16\\x18\\x19\\x1a\\x1b\\x1c\ \\x20\\x21\\x32\\x33\\x34\\x35\\x36\\x38\\x40\\x41\\x42\\x43\\x46\\x47\\x48\\x49\\x4a\\x4b\\x4c\\x4d\\x4e\\x4f\\x\ 50\\x51\\x52\\x53\\x54\\x55\\x56\\x57\\x58[\\x60\\x81\\x82\\x90\\x91\\x93\\x96\\x97\\x98\\x99\\x9a\\x9b\\x9c\\x9e\ \\xa0\\xa1\\xa2\\xa3\\xa4]|\\x59................\?[ -~]|\\x96....\$)" add name=goboogy regexp=\ "<peerplat>|^get /getfilebyhash\\.cgi\\\?|^get /queue_register\\.cgi\\\?|^get /getupdowninfo\\.cgi\\\?" add name=soribada regexp="^GETMP3\r\ \nFilename|^\01.\?.\?.\?(Q:\\+|Q2:)|^\10[\14-\16]\10[\15-\17].\?.\?.\?.\?\$" add name=gnutella regexp="^(gnd[\01\02]\?.\?.\?\01|gnutella connect/[012]\\.[0-9]\r\ \n|get /uri-res/n2r\\\?urn:sha1:|get /.*user-agent: (gtk-gnutella|bearshare|mactella|gnucleus|gnotella|limewire|i\ mesh)|get /.*content-type: application/x-gnutella-packets|giv [0-9]*:[0-9a-f]*/|queue [0-9a-f]* [1-9][0-9]\?[0-9]\ \?\\.[1-9][0-9]\?[0-9]\?\\.[1-9][0-9]\?[0-9]\?\\.[1-9][0-9]\?[0-9]\?:[1-9][0-9]\?[0-9]\?[0-9]\?|gnutella.*content\ -type: application/x-gnutella|...................\?lime)" add name=shoutcast regexp="icy [1-5][0-9][0-9] [\t-\r -~]*(content-type:audio|icy-)" add name=bittorrent2 regexp=\ "^(\13bittorrent protocol|azver\01\$|get/scrape\\\?info_hash=)|d1:ad2:id20:|\08'7P\\)[RP]" add name=directconnect regexp="^(\\\$mynick |\\\$lock |\\\$key )" add name=ares regexp="^\03[]Z].\?.\?\05\$" add name=fasttrack regexp="^get (/.download/[ -~]*|/.supernode[ -~]|/.status[ -~]|/.network[ -~]*|/.files|/.hash=[0-9\ a-f]*/[ -~]*) http/1.1|user-agent: kazaa|x-kazaa(-username|-network|-ip|-supernodeip|-xferid|-xferuid|tag)|^give \ [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\?[0-9]\?[0-9]\?" add name=napster regexp="^(.[\02\06][!-~]+ [!-~]+ [0-9][0-9]\?[0-9]\?[0-9]\?[0-9]\? \"[\t-\r -~]+\" ([0-9]|10)|1(send\ |get)[!-~]+ \"[\t-\r -~]+\")" add name=soulseek regexp="^(\05..\?|.\01.[ -~]+\01F..\?.\?.\?.\?.\?.\?.\?)\$" add name=imesh regexp="^(post[\t-\r -~]*<PasswordHash>................................</PasswordHash><ClientVer>|4\80\ \?\r\?\FC\FF\04|get[\t-\r -~]*Host: imsh\\.download-prod\\.musicnet\\.com|\02(\01|\02)\83.\?.\?.\?.\?.\?.\?.\?.\?\ .\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?.\?\02(\01|\02)\83)" add name=mohaa regexp="^\FF\FF\FF\FFgetstatus\ \n" add name=tor regexp=TOR1.*<identity> add name=bittorrent regexp="^(\\x13bittorrent protocol|azver\\x01\$|get /scrape\\\?info_hash=get /announce\\\?info_ha\ sh=|get /client/bitcomet/|GET /data\\\?fid=)|d1:ad2:id20:|\\x08'7P\\)[RP]" add name=bittorrent-sites regexp="^.+(|torrenty.org|thepiratebay|isohunt|entertane|demonoid|btjunkie|mininova|flixflu\ x|torrentz|vertor|h33t|btscene|bitunity|bittoxic|thunderbytes|entertane|zoozle|vcdq|bitnova|bitsoup|meganova|full\ dls|btbot|flixflux|seedpeer|fenopy|gpirate|commonbits|super-torrent|ex-torrenty-org|shadows-torrents|best-torrent\ y|miliontorrent|mega-torrenty|torrent.top-100|polskitorrent).*\$" add name="emule\?" regexp="\\xe3[\\x01-\\xff].\?.\?.\?\\x01.*\\xc5[\\x01-\\xff].\?.\?.\?\\x01.*\\xc5[\\x01-\\xff].\?.\ \?.\?\\x02.\r\ \n*\\xe3[\\x01-\\xff].\?.\?.\?\\x4c"
MikroTik – zmiana wartości TTL
/ip firewall mangle add chain=postrouting action=change-ttl new-ttl=set:1 passthrough=yes out-interface=ether3lan log=no log-prefix=""
Laptop Samsung z Windows 8 – Samsung Recovery Solution – tworzenie nośnika instalacyjnego Recovery
Występuje problem z utworzeniem nośników instalacyjnych Recovery z laptopa Samsung, ponieważ program pod Windows nie posiada takiej opcji (klawisz jest widoczny ale nieaktywny). Serwis Samsunga zatem radzi: Continue reading
MikroTik – eksportowanie ustawień
ip firewall export file=name
Windows – zmiana portu RDP – Pulpitu Zdalnego
Windows 2022
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber
Windows 2012
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WinStation\RDPTcp\PortNumber
Windows XP
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
PowerShell – włączenie Windows PowerShell Web Access (PSWA) w Windows 2012 R2
Enable-PSRemoting -SkipNetworkProfileCheck Install-WindowsFeature WindowsPowerShellWebAccess -IncludeAllSubFeature -IncludeManagementTools Install-PswaWebApplication –WebSiteName "Default Web Site" –WebApplicationName "PSWA" –UseTestCertificate Add-PswaAuthorizationRule -UserName server\Administrator -ComputerName server -ConfigurationName Microsoft.PowerShell Add-PswaAuthorizationRule -UserName win2k8r2\Administrator -ComputerName win2k8r2 -ConfigurationName Microsoft.PowerShell
DD-WRT – SSH – lista aktualnie podłączonych klientów
Gdy Access Point jest skonfigurowany i zaczyna pracować w środowisku produkcyjnym, często zachodzi potrzeba logowania się do urządzenia np. w celu sprawdzania jego poprawnej pracy i m.in. siły sygnału, z jaką podłączeni są klienci.
W nowszych wersjach DD-WRT próba połączenia przez protokół HTTPS kończy się niepowodzeniem. Aby bezpiecznie połączyć się z urządzeniem, należy wybrać program Putty oraz protokół SSH. Poniżej przedstawione są polecenia umożliwiające wyświetlenie aktualnie podłączonych klientów WLAN.
wl assoclist wl rssi <MAC-ADDRESS>
WordPress 4.1 – BreadCrumbs na stronie
Element BreadCrumbs, czyli wyświetlana ścieżka do aktualnej strony internetowej nie tylko pomaga użytkownikowi w sprawnej nawigacji, ale również wg. dokumentu Google SEO Starter Guide (http://static.googleusercontent.com/media/www.google.com/en//webmasters/docs/search-engine-optimization-starter-guide.pdf) ma duży wpływ na jej efektywne pozycjonowanie.
Aby dodać BreadCrumbs do strony WP należy:
- umieścić poniższą funkcję w pliku functions.php:
function showBreadCrumbs() { echo '<a href=”',get_option('home'),'”>',bloginfo('name')," Home</a> » "; if (is_category() || is_single()) { the_category(', ','&title_li='); if (is_single()) { echo " » ", the_title(); } } elseif (is_page()) { echo the_title(); } }
- umieścić div z wywołaniem powyższej funkcji na stronie, np. category.php, single.php, page.php zaraz za wywołaniem nagłówka: get_header(); ?>
<div id="breadcrumbs"><?php showBreadCrumbs(); ?></div>
- umieścić style CSS w pliku style.css, np.:
#breadcrumbs { margin-left:60px; margin-bottom:20px; }
WordPress 4.1 – wykonanie kopii bazy, migracja na innych serwer (hosting)
Migracja WP na innych serwer (hosting):
- wgranie nowego (czystego) WP na nowy host,
- skopiowanie pluginów, szablonów, pliku wp-config.php i folderu upload na nowy host,
- eksport bazy przez phpMyAdmin:
Export → Export Method: Custom – display all possible options
Output: Character set of the file: UTF8
Compression: None
Format: SQL
Object Creation Options → zaznaczone: Add DROP TABLE / VIEW… → odznaczone: Add CREATE PROCEDURE / FUNCTION …
Można tez użyć wtyczki BackWPup ze strony https://wordpress.org/plugins/backwpup - w pliku .sql zmiana linków URL przy pomocy edytora tekstu (np. Notepad++),
Przykład: eksport strony z hosta http://localhost/wordpress na host http://nazwadomeny.pl/wp :
a) zamiana w edytorze wszystkich nazw zawierających link http://localhost/wordpress na http://nazwadomeny.pl/wp
b) zamiana wszystkich nazw /wordpress na /wp
c) w przypadku witryny z funkcją MULTISITE należy zmienić nazwę przy parametrze ‚source_domain’, która występuje w końcowych liniach pliku SQL i przyjmuje postać np. w przypadku hostingu http://localhost/wp – samo słowo localhost (bez przedrostka http://)
d) wejście na nową stronę: http://nazwadomeny.pl/wp. WP wyświetli stronę instalacyjną ponieważ nie będzie się mógł połączyć z bazą. - import bazy przez phpMyAdmin na nowy host przez phpMyAdmin: Import → OK,
- wejście do panelu administracyjnego nowej strony http://nazwadomeny.pl/wp/wp-admin. WP poprosi o update bazy.
Szczególnie krok 4a i 4b są istotne jeśli przenosiny odbywają się z podkatalogu do podkatalogu.
Oczywiście w pliku wp-config.php trzeba wpisać nowe parametry serwera MySQL.
Dobrym pluginem wspomagającym proces przenoszenia bazy jest WP Migrate DB: https://wordpress.org/plugins/wp-migrate-db/