It has to be SP2 or SP3 😀

Install IPv6 protocol in the properties of the connection. The properties button will be gray and not configurable.

To configure the IPv6 address on the interface use the followng commands in cmd.exe:

netsh interface ipv6 add address "Local Area Network" 2001:abc::def:1234
netsh interface ipv6 add route ::/0 "Local Area Network" 2001:abc::1

where instead of “Local Area Network” must be the name of your connection, and insted of 2001:abc::1 - your IPv6 gateway

Столкнулся с такой ситуацией, что в используя Proxmox на серверах Hetzner нельзя просто взять и навесить IPv6 виртуалки на интерфейс подключенный в bridge наружу, т.к. приходит жалоба, что используется неразрешённый MAC адрес (как раз MAC адрес тех самых виртуальных машин, которые подключаешь к этому bridge).

Решается созданием ещё одного bridge и настройкой routed IPv6. Здесь речь будет идти только об IPv6, IPv4 часть не буду затрагивать.

Изменяем параметр sysctl для того, чтобы была возможность проброса IPv6:

sysctl -w net.ipv6.conf.all.forwarding=1

Настраиваем на внешнем интерфейсе (это может быть интерфейс сетевой карты, но в моём случае это bridge подключенный к внешней сетевой карте):

/etc/network/interfaces

iface vmbr0 inet6 static
  address 2a01:abc:de:f123::1/128
  gateway fe80::1

шлюз на внешнем интерфейсе (или бридже подключенному к внешнему интерфейсу) на hetzner всегда fe80::1

Создаём ещё один bridge, в моём случае это vmbr4 и не подключаем его ни к другим бриджам, ни к внешней сетевой карте, настраиваем следующим образом:

iface vmbr4 inet6 static
  address 2a01:abc:de:f123::1/64
  bridge-ports none
  bridge-stp off
  bridge-fd 0
  up ip -6 route add 2a01:abc:de:f123::/64 dev vmbr4

последняя строчка это добавление маршрута при поднятии интерфейса бриджа.

После этого можно создавать виртуальную машину или контейнер, брать адрес из выделенного диапазона (add 2a01:abc:de:f123::/64) в качестве шлюза необходимо указывать этот самый 2a01:abc:de:f123::1

 

 

Ранее публиковал записи о назначении определённому сетевому интерфейсу типа сети (общественная/частная/публичная), включение и отключение Windows Firewall, также опишу как разрешить пинг в брандмауэре Windows в командной строке.

Разрешаем ping для IPv4 в частной сети:

netsh advfirewall firewall add rule name="Allow ICMPv4" protocol=icmpv4:8,any dir=in action=allow profile=private

Разрешаем ping для IPv6 в публичной сети:

netsh advfirewall firewall add rule name="Allow ICMPv6" protocol=icmpv6:8,any dir=in action=allow profile=public

Разрешаем ping для IPv4 и IPv6 во всех сетях:
netsh advfirewall firewall add rule name="Allow ICMPv6" protocol=icmpv6:8,any dir=in action=allow profile=ALL

Также после profile= можно указать значение domain для доменной сети.

В посте указано, как изменить тип сети в Windows, теперь опишу как включить или отключить Firewall в командной строке для определённого типа сети (общественная/частная/доменная).

Выполняем от администратора выключение фаервола для частной сети:

netsh advfirewall set privateprofile state off

Аналогично выполняется отключение брандмауэра для общественной сети:

netsh advfirewall set publicprofile state off

Отключение Windows Firewall для доменной сети:

netsh advfirewall set domainprofile state off

 

Включение брандмауэра для частной сети:

netsh advfirewall set privateprofile state on

Включение Windows Firewall для общественной сети:

netsh advfirewall set publicprofile state on

Включение фаервола для доменной сети:

netsh advfirewall set domainprofile state on

 

В Powershell от администратора выполняем:

Get-NetConnectionProfile

Получаем список сетевых интерфейсов и их внутренние идентификаторы, интересует только значение InterfaceIndex:
InterfaceIndex : 13

Выполнем команду с подстановкой нужного значения после -InterfaceIndex (тот самый идентификатор, который получили выше) и указываем тип сети (Private/Public – Частные/Общедоступные):

Set-NetConnectionProfile -InterfaceIndex 13 -NetworkCategory Private

 

От этого зависит тип политик, применяемых Windows Firewall (брандмауэр).

Как-то мне пришла идея использовать обычный shared хостинг с PHP для того, чтобы создать прокси сервер (а через него уже можно и в интернет ходить, и скрэпперы/кроулеры использовать).

Для этого нам понадобится Nginx с PHP, подойдёт даже работающий на локальном компьютере или же локально на виртуальной машине, а также любой shared хостинг, который поддерживает PHP (5.6 и новее).

Работает эта схема следующим образом: Nginx выступает в роли самого proxy сервера, который указываем в качестве прокси в браузере, PHP в связке с этим Nginx занимается приёмом запросов от браузера (или скрэппера/кроулера) и отправляет его на shared хостинг, где мы должны разместить файл Proxy.php из репозитория https://github.com/zounar/php-proxy

Этот скрипт можно немного по-вкусу модифицировать, например убрать аутентификаицю на уровне заголовков, передаваемых в скрипт (но можно и оставить для секьюрности), в своём примере я убрал для сокращения описания шагов. Но настройку http basic аутентификацию в nginx опишу.

Здесь не буду объяснять, как устанавливать nginx, а также PHP-FPM.

Настраиваем виртуальный хост nginx следующим образом:

server {
listen 3128;
server_name _;
root /home/user/webproxy;
index index.php;

auth_basic "Restricted";
auth_basic_user_file /home/user/web/.htpasswd; #файл с хешированным паролем для http basic аутентификации

location ~ \.php$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}

location / {
rewrite ^/(.*)$ /index.php?url=$host$uri; #здесь передаём все запросы нашего браузера/скрэппера/кроулера путём get в переменную url
}
}

Скрипт, который нужно положить в /home/webproxy/index.php:

<?php

$url = $_GET['url'];

$request = curl_init('http://your-shared-hosting.xyz/Proxy.php'); //путь к файлу на shared хостинге

curl_setopt($request, CURLOPT_HTTPHEADER, array(
'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0',
'Proxy-Auth: SetInTheProxyPHPifEnabled',
'Proxy-Target-URL: https://'.$url
));

curl_exec($request);

?>

 

Менять можно по своему вкусу для сокрытия такого очевидного использования.

От хостинга требуется чтобы в PHP была поддержка libcurl, gzip и PHP safe_mode disabled (практически любой хостинг).

Спустя долгое время, как проэкспайрился домен itblog.pp.ua, я решил восстановить этот блог на новом домене.

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

 

Что хотелось бы добавить и что уже забыл:

  • исправление работы Windows Subsystem for Linux 2 в Windows 11 – исправил и совсем забыл, как это делал
  • продление работы сервера терминалов Windows без лицензии – это помню
  • устранение автоматического завершения работы на неактивированном Windows сервере – где-то находил инфу
  • выкачивание сайта с веб-архива – где-то находил инфу

 

Если ещё что-то вспомню – накидаю в этот пост

Получил недавно такую абузу:

Dear Sir or Madam,
>
> Multicast DNS (mDNS) is used for resolving host names to IP addresses
> within small networks that do not include a local DNS server. It is
> implemented for example by the Apple ‘Bonjour’ and Linux/BSD ‘Avahi’
> (nss-mdns) services. mDNS uses port 5353/udp.
>
> In addition to disclosing information about the system/network,
> mDNS services openly accessible from anywhere on the Internet can be
> abused for DDoS reflection attacks against third parties.
>
> Please find below a list of affected systems hosted on your network.
> The timestamp (timezone UTC) indicates when the openly accessible
> mDNS service was identified.
>
> We would like to ask you to check this issue and take appropriate
> steps to close the openly accessible mDNS services on the affected
> systems or notify your customers accordingly.
>
> If you have recently solved the issue but received this notification
> again, please note the timestamp included below. You should not
> receive any further notifications with timestamps after the issue
> has been solved.

Оказывается, на UDP порт 5353 слушал на всех интерфейсах avahi-daemon, который был установлен непонятно с чем (а может быть и по умолчанию в Linux Mint).

Смотрим, что слушает на этом порту:
netstat -tulpn |grep 5353
avahi-daemon

Побороть можно так следующим образом.

Проверяем зависимости, чаще всего avahi требует именно wine:

apt-rdepends wine | grep avahi

Если не нужен wine или зависимостей нет, то можно смело делать
apt-get remove avahi-daemon

Если нужен, то просто отключим:
update-rc.d avahi-daemon disable
/etc/init.d/avahi-daemon stop

Мне нравится утилита nethogs, которую я использую на своём сервере с Debian, для просмотра соединений и скорости передачи данных по процессам, но как-то она, после обновления, внезапно перестала работать, и стала выпадать с сообщением:

nethogs creating socket failed while establishing local IP — are you root?

Фикс такой:

wget -c https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz
tar xf v0.8.1.tar.gz
cd ./nethogs-0.8.1/
sudo apt-get install libncurses5-dev libpcap-dev
make && sudo make install
sudo nethogs

Вот и всё.

function returnStatus(req, status) {
//console.log(req);
if(status == 200) {
console.log("The url is available");
// send an event
}
else {
console.log("The url returned status code " + status);
// send a different event
}
}

function fetchStatus(address) {
var client = new XMLHttpRequest();
client.onreadystatechange = function() {
// in case of network errors this might not give reliable results
if(this.readyState == 4)
returnStatus(this, this.status);
}
client.open(“HEAD”, address);
client.send();
}


fetchStatus("/");