<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Копытов Иван: заметки с тегом доступ</title>
<link>https://www.kini24.ru/tags/dostup/</link>
<description>Блог ленивого сисадмина</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог ленивого сисадмина</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Проброс портов в OpenWrt</title>
<guid isPermaLink="false">259</guid>
<link>https://www.kini24.ru/all/probros-portov-v-openwrt/</link>
<pubDate>Sun, 25 Dec 2022 12:48:29 +0700</pubDate>
<author></author>
<comments>https://www.kini24.ru/all/probros-portov-v-openwrt/</comments>
<description>
&lt;p&gt;Мне никогда не нравилось, что в интерфейсе OpenWrt нельзя указать несколько портов при пробросе, можно указать только диапазон. А если мне нужно несколько, объединенных одним сервисом? Например, почта. Если указывать все порты, то получается, что на каждый из них нужно создавать свое правило. В итоге получается такая простыня правил, что ориентироваться в ней становится затруднительно.&lt;br /&gt;
По сути, эта заметка — напоминание себе как нужно правильно прокинуть порты во внутреннюю сеть, используя iptables. И, заодно, там же сделаем так, чтобы из локальной сети можно было обращаться к своим серверам по доменному имени.&lt;br /&gt;
Идем  в раздел &lt;i&gt;Network&lt;/i&gt; — &lt;i&gt;Firewall&lt;/i&gt; и открываем вкладку &lt;i&gt;Custom rules&lt;/i&gt;. Добавляем туда строку такого вида:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;iptables -t nat -A zone_wan_prerouting -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Здесь мы помещает в цепочку &lt;i&gt;zone_wan_prerouting&lt;/i&gt; таблицы &lt;i&gt;nat&lt;/i&gt; правило, указывающее, что сервисы, обращающиеся из внешней сети на перечисленные порты, должны перенаправляться на сервер с адресом 192.168.1.100. Параметр -р указывает протокол tcp, а параметр -m multiports позволяет указать не один порт, а несколько. Это правило позволит открыть порты для доступна извне, но при обращении к ним из локальной сети придется указывать «прямой» адрес 192.168.1.100. Если вписать свой внешний адрес (IP или DNS), то ничего не выйдет. Чтобы это стало возможным, нужно дописать еще две строки:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;iptables -t nat -A zone_lan_prerouting -d 95.170.188.45 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j DNAT --to-destination 192.168.1.100
iptables -t nat -A zone_lan_postrouting -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В первой строке мы говорим, что все обращения к внешнему адресу на указанные порты должны перенаправляться на локальный адрес 192.168.1.100. Во второй строке мы, если так можно выразиться, прячем, что обращаемся из локальной сети.&lt;br /&gt;
После нажатия кнопки &lt;i&gt;Save&lt;/i&gt; содержимое поля &lt;i&gt;Custom Rules&lt;/i&gt; будет сохранено на роутере в файле /etc/firewall.user. Для применения эти необходимо перезапустить файрволл:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/etc/init.d/firewall restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После этого почта станет доступной из внешней сети и из локальной, причем по доменному имени или внешнему IP-адресу.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Обновление&lt;/b&gt; Если оставить последнее правило в таком виде, то исходящий IP-адрес (адрес клиента) будет отображаться как адрес самого роутера в локальной сети: 192.168.1.1. Поэтому следует немного изменить правило, чтобы оно выглядело следующим образом:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;iptables -t nat -A zone_lan_postrouting -s 192.168.1.0/24 -d 192.168.1.100 -p tcp -m multiport --dports 25,110,143,465,587,993,995,4190 -j MASQUERADE&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В этом случае внешние адреса останутся «настоящими», а все запросы из локальной сети будут отображаться как 192.168.1.1. На мой взгляд, это приемлемо.&lt;/p&gt;
</description>
</item>

<item>
<title>Удаленный доступ через Rustdesk</title>
<guid isPermaLink="false">258</guid>
<link>https://www.kini24.ru/all/udalenny-dostup-cherez-rustdesk/</link>
<pubDate>Sat, 24 Dec 2022 14:35:09 +0700</pubDate>
<author></author>
<comments>https://www.kini24.ru/all/udalenny-dostup-cherez-rustdesk/</comments>
<description>
&lt;p&gt;Так уж получилось, что эту программу я открыл для себя недавно и то случайно. &lt;a href="https://rustdesk.com/"&gt;Rustdesk&lt;/a&gt; предоставляет возможность удаленного доступа к любому компьютеру на базе Linux, Windows, MacOS, а также смартфонах под управлением Android или iOS. В общем, программа всеядная, так сказать. Управлять компьютером или смартфоном можно в обоих направлениях — со смартфона компьютером или с компьютера смартфоном. Программа имеет децентрализованный сервер, т. е. вы можете установить его на свой сервер или даже NAS и подключаться через него. Это, на мой взгляд, большой плюс. Да и я, грешен, предпочитаю self-hosted решения.&lt;br /&gt;
Какие «плюсы» есть еще? Программа имеет &lt;a href="https://github.com/rustdesk/rustdesk"&gt;открытый код&lt;/a&gt; и абсолютно бесплатна. Подключение осуществляется по так называемым ID (аналогично таким программам как TeamViewer, Anydesk и т. п.), то есть может работать за NAT. Меня лично особо порадовала возможность обмениваться файлами между Linux и Windows системами — этого мне сильно не хватало. Следующим «плюсом», на мой взгляд, является достаточно быстрая работа на медленных линиях. Перепробовав несколько программ удаленного доступа, выделил для себя лидеров по скорости: TightVNC и Anydesk.&lt;br /&gt;
До этого момента я предпочитал использовать VNC. Но тут была пара «минусов»: приходилось пробрасывать порты на шлюзах, что, при большом количестве компьютеров, превращало таблицы iptables в большую портянку. Вторым «минусом» была невозможность использования цифровой клавиатуры в ряде случаев. Точно так же себя вел и буфер обмена. Ну и третьим, как можно догадаться, была невозможность копирования файлов между Linux и Windows.&lt;br /&gt;
Интерфейс программы, можно сказать, аскетичен, настроек ОЧЕНЬ немного. Для кого-то это «минус», лично я считаю, что больше и не нужно.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="469" data-ratio="1.4702194357367"&gt;
&lt;img src="https://www.kini24.ru/pictures/rustdesk@2x.png" width="469" height="319" alt="" /&gt;
&lt;img src="https://www.kini24.ru/pictures/rustdesk_settings@2x.png" width="182" height="213" alt="" /&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Из интересного присутствуют возможность TCP-туннелирования, избранное, адресная книга (возможность пока не реализована) и, видимо, что-то вроде личного кабинета на сервере (тоже пока не реализовано). Также можно использовать сгенерированный программой пароль или указать свой. Присутствует возможность в качестве идентификатора указать свое имя — так подключившийся человек будет отображаться у клиента. Еще одним любопытным свойством является возможность предоставить клиенту исполняемый файл с предустановленными настройками на свой сервер. Для этого нужно всего лишь изменить имя файла, например на такое:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;rustdesk-host=&amp;lt;host-ip-or-name&amp;gt;,key=&amp;lt;строка-открытого-ключа&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;где &lt;i&gt;host-ip-or-name&lt;/i&gt; — DNS или IP-адрес вашего сервера, а &lt;i&gt;строка-открытого-ключа&lt;/i&gt; — публичный ключ, который выдает вам сервер после своего запуска и который хранится в файле id_******.pub.&lt;br /&gt;
Подводя итог краткого обзора, могу сказать, что программа имеет все шансы заместить TeamViewer, Anydesk и другие подобные программы. Я бы порекомендовал ее к использованию.&lt;/p&gt;
</description>
</item>

<item>
<title>Управление Samsung TV через сеть</title>
<guid isPermaLink="false">175</guid>
<link>https://www.kini24.ru/all/samsung-tv/</link>
<pubDate>Mon, 12 Dec 2022 14:00:40 +0700</pubDate>
<author></author>
<comments>https://www.kini24.ru/all/samsung-tv/</comments>
<description>
&lt;p&gt;Не оставляю попыток получить управление своим ТВ через сеть. Периодически поглядываю через wireshark на него, но информации маловато для понимания. Существует же множество утилит, которые позволяют управлять им со смартфона, значит это возможно. Для линукса существует утилита samsungctl, но мою модель она не поддерживает (???)&lt;/p&gt;
&lt;p class="aside"&gt;Я вообще когда-нибудь получу контроль над ним через сеть?&lt;/p&gt;
&lt;p&gt;Ниже список доступных портов, чтобы не забыть.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# nmap -v -p1-65535 -sS 192.168.1.7

Completed SYN Stealth Scan at 11:56, 3.12s elapsed (65535 total ports)
Nmap scan report for Samsung-TV.kini24.ru (192.168.1.7)
Host is up (0.00065s latency).
Not shown: 65517 closed ports
PORT      STATE SERVICE
7676/tcp  open  imqbrokerd
7678/tcp  open  unknown
8001/tcp  open  vcom-tunnel
8002/tcp  open  teradataordbms
8080/tcp  open  http-proxy
8187/tcp  open  unknown
9012/tcp  open  unknown
9119/tcp  open  unknown
9197/tcp  open  unknown
9999/tcp  open  abyss
15500/tcp open  unknown
32768/tcp open  filenet-tms
32769/tcp open  filenet-rpc
32770/tcp open  sometimes-rpc3
32771/tcp open  sometimes-rpc5
39556/tcp open  unknown
52752/tcp open  unknown
56295/tcp open  unknown
MAC Address: 7C:64:56:FE:76:2A (Unknown)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Порты Samsung AllShare: 7676, 7678, 8187, 9119, 9197&lt;/p&gt;
&lt;p&gt;Полное сканирование портов:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;PROTOCOL STATE         SERVICE
1        open          icmp
2        open|filtered igmp
6        open          tcp
17       open          udp
136      open|filtered udplite
255      open|filtered unknown
7676/tcp  open  imqbrokerd
7678/tcp  open  unknown
8001/tcp  open  vcom-tunnel
8002/tcp  open  teradataordbms
8080/tcp  open  http-proxy
8187/tcp  open  unknown
9012/tcp  open  unknown
9119/tcp  open  unknown
9197/tcp  open  unknown
9999/tcp  open  abyss
15500/tcp open  unknown
26101/tcp open  unknown
32768/tcp open  filenet-tms
32769/tcp open  filenet-rpc
32770/tcp open  sometimes-rpc3
32771/tcp open  sometimes-rpc5
40046/tcp open  unknown
57772/tcp open  unknown
60850/tcp open  unknown
1900/udp  open|filtered upnp
5353/udp  open|filtered zeroconf
8001/udp  open|filtered vcom-tunnel
32768/udp open|filtered omad
MAC Address: 7C:64:56:FE:76:2A (Unknown)&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Прямой доступ к сети по IPv6</title>
<guid isPermaLink="false">210</guid>
<link>https://www.kini24.ru/all/pryamoy-dostup-k-seti-po-ipv6/</link>
<pubDate>Fri, 17 Aug 2018 15:31:36 +0700</pubDate>
<author></author>
<comments>https://www.kini24.ru/all/pryamoy-dostup-k-seti-po-ipv6/</comments>
<description>
&lt;p&gt;Два дня искал как получить прямой доступ к компьютерам в сети через IPv6. Ни один способ не подходил, сколько не пробовал в самых разных вариациях. Самое забавное, что месяц-два назад я как-то этот доступ настраивал. Потом роутер пришлось сбрасывать до заводских настроек, а в памяти этот момент не отложился.&lt;br /&gt;
В итоге, все оказалось очень просто (надеюсь, ничего не забыл)...&lt;br /&gt;
Открываем веб-морду OpenWrt, входим под своими логином и паролем. Затем идем на вкладку &lt;b&gt;Network&lt;/b&gt; — &lt;b&gt;Interfaces&lt;/b&gt; и в поле «IPv6 ULA-Prefix» вводим префикс подсети. Например, такой: 2002:1234:5678:1234::/64. Компьютеры в локалке, конечно же, должны иметь адреса из этого же диапазона. Следом стоит дать разрешение в брэндмауэре. Для этого открываем &lt;b&gt;Firewall&lt;/b&gt; — &lt;b&gt;General settings&lt;/b&gt; и для пунктов &lt;b&gt;Input&lt;/b&gt;, &lt;b&gt;Output&lt;/b&gt; и &lt;b&gt;Forward&lt;/b&gt; в самом верху ставим «Ассept».&lt;br /&gt;
Применяем сделанные изменения, перезагрузка не требуется.&lt;/p&gt;
</description>
</item>

<item>
<title>Настройка VPN на OpenWrt</title>
<guid isPermaLink="false">69</guid>
<link>https://www.kini24.ru/all/nastroyka-vpn-na-openwrt/</link>
<pubDate>Mon, 26 Jun 2017 18:38:57 +0700</pubDate>
<author></author>
<comments>https://www.kini24.ru/all/nastroyka-vpn-na-openwrt/</comments>
<description>
&lt;h3&gt;Доступ в домашнюю сеть&lt;/h3&gt;
&lt;p&gt;На фоне запретов на VPN и анонимайзеров, взбрело в голову прокинуть туннель в свою домашнюю сеть. Так сказать, пока это не стало противоправным действием :-) Все делал вот по &lt;a href="https://wiki.openwrt.org/ru/doc/howto/vpn.openvpn"&gt;этой статье&lt;/a&gt;. С первого раза ничего не заработало. После небольшого расследования оказалось, что клиентский сертификат неверно сгенерировался и получился файл нулевого размера. Пришлось переделывать все заново. После этого я смог подключиться к домашней сети, но у меня не было доступа ни к одному компьютеру в ней. Для доступа к ней пришлось выполнить еще одно действие из этой же статьи, из англоязычной ее части:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# uci add_list openvpn.myvpn.push=&amp;#039;route 192.168.1.0 255.255.255.0&amp;#039;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Так как подсеть у меня такая же, то не пришлось править адрес и маску. После перезапуска OpnVPN на роутере все заработало: доступ в сеть есть, к компьютерам — тоже. Все работает, отлично!&lt;br /&gt;
Но, как обычно, показалось этого мало. Настроил OpenVPN и на смартфоне. Применение такого доступа нашлось сразу же: быстрый просмотр записей с камеры. VLC, конечно, на такой скорости плохо кэширует (надеюсь, это лечится), но снимки, которые создает motion из записанного видеофайла просмотреть можно. Уже, как говорится, хлеб.&lt;br /&gt;
Затем, ради интереса, заглянул на собранную метеостанцию, посмотрел как там дела обстоят. Затем зашел на роутер, проглядел папку с торрентами.&lt;br /&gt;
Из «минусов» подключения по VPN вижу только то, что работать приходится не с именами машин, а с их IP-адресами. Но это уже мелочи.&lt;/p&gt;
</description>
</item>


</channel>
</rss>