{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом доступ",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/www.kini24.ru\/tags\/dostup\/",
    "feed_url": "https:\/\/www.kini24.ru\/tags\/dostup\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/www.kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "259",
            "url": "https:\/\/www.kini24.ru\/all\/probros-portov-v-openwrt\/",
            "title": "Проброс портов в OpenWrt",
            "content_html": "<p>Мне никогда не нравилось, что в интерфейсе OpenWrt нельзя указать несколько портов при пробросе, можно указать только диапазон. А если мне нужно несколько, объединенных одним сервисом? Например, почта. Если указывать все порты, то получается, что на каждый из них нужно создавать свое правило. В итоге получается такая простыня правил, что ориентироваться в ней становится затруднительно.<br \/>\nПо сути, эта заметка — напоминание себе как нужно правильно прокинуть порты во внутреннюю сеть, используя iptables. И, заодно, там же сделаем так, чтобы из локальной сети можно было обращаться к своим серверам по доменному имени.<br \/>\nИдем  в раздел <i>Network<\/i> — <i>Firewall<\/i> и открываем вкладку <i>Custom rules<\/i>. Добавляем туда строку такого вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">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<\/code><\/pre><p>Здесь мы помещает в цепочку <i>zone_wan_prerouting<\/i> таблицы <i>nat<\/i> правило, указывающее, что сервисы, обращающиеся из внешней сети на перечисленные порты, должны перенаправляться на сервер с адресом 192.168.1.100. Параметр -р указывает протокол tcp, а параметр -m multiports позволяет указать не один порт, а несколько. Это правило позволит открыть порты для доступна извне, но при обращении к ним из локальной сети придется указывать «прямой» адрес 192.168.1.100. Если вписать свой внешний адрес (IP или DNS), то ничего не выйдет. Чтобы это стало возможным, нужно дописать еще две строки:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">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\niptables -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<\/code><\/pre><p>В первой строке мы говорим, что все обращения к внешнему адресу на указанные порты должны перенаправляться на локальный адрес 192.168.1.100. Во второй строке мы, если так можно выразиться, прячем, что обращаемся из локальной сети.<br \/>\nПосле нажатия кнопки <i>Save<\/i> содержимое поля <i>Custom Rules<\/i> будет сохранено на роутере в файле \/etc\/firewall.user. Для применения эти необходимо перезапустить файрволл:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/etc\/init.d\/firewall restart<\/code><\/pre><p>После этого почта станет доступной из внешней сети и из локальной, причем по доменному имени или внешнему IP-адресу.<\/p>\n<p><b>Обновление<\/b> Если оставить последнее правило в таком виде, то исходящий IP-адрес (адрес клиента) будет отображаться как адрес самого роутера в локальной сети: 192.168.1.1. Поэтому следует немного изменить правило, чтобы оно выглядело следующим образом:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">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<\/code><\/pre><p>В этом случае внешние адреса останутся «настоящими», а все запросы из локальной сети будут отображаться как 192.168.1.1. На мой взгляд, это приемлемо.<\/p>\n",
            "date_published": "2022-12-25T12:48:29+07:00",
            "date_modified": "2023-01-18T12:11:20+07:00",
            "tags": [
                "firewall",
                "iptables",
                "openwrt",
                "внешний",
                "доступ",
                "локальная сеть",
                "перенаправление",
                "порт",
                "проброс",
                "роутер"
            ],
            "_date_published_rfc2822": "Sun, 25 Dec 2022 12:48:29 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "259",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "258",
            "url": "https:\/\/www.kini24.ru\/all\/udalenny-dostup-cherez-rustdesk\/",
            "title": "Удаленный доступ через Rustdesk",
            "content_html": "<p>Так уж получилось, что эту программу я открыл для себя недавно и то случайно. <a href=\"https:\/\/rustdesk.com\/\">Rustdesk<\/a> предоставляет возможность удаленного доступа к любому компьютеру на базе Linux, Windows, MacOS, а также смартфонах под управлением Android или iOS. В общем, программа всеядная, так сказать. Управлять компьютером или смартфоном можно в обоих направлениях — со смартфона компьютером или с компьютера смартфоном. Программа имеет децентрализованный сервер, т. е. вы можете установить его на свой сервер или даже NAS и подключаться через него. Это, на мой взгляд, большой плюс. Да и я, грешен, предпочитаю self-hosted решения.<br \/>\nКакие «плюсы» есть еще? Программа имеет <a href=\"https:\/\/github.com\/rustdesk\/rustdesk\">открытый код<\/a> и абсолютно бесплатна. Подключение осуществляется по так называемым ID (аналогично таким программам как TeamViewer, Anydesk и т. п.), то есть может работать за NAT. Меня лично особо порадовала возможность обмениваться файлами между Linux и Windows системами — этого мне сильно не хватало. Следующим «плюсом», на мой взгляд, является достаточно быстрая работа на медленных линиях. Перепробовав несколько программ удаленного доступа, выделил для себя лидеров по скорости: TightVNC и Anydesk.<br \/>\nДо этого момента я предпочитал использовать VNC. Но тут была пара «минусов»: приходилось пробрасывать порты на шлюзах, что, при большом количестве компьютеров, превращало таблицы iptables в большую портянку. Вторым «минусом» была невозможность использования цифровой клавиатуры в ряде случаев. Точно так же себя вел и буфер обмена. Ну и третьим, как можно догадаться, была невозможность копирования файлов между Linux и Windows.<br \/>\nИнтерфейс программы, можно сказать, аскетичен, настроек ОЧЕНЬ немного. Для кого-то это «минус», лично я считаю, что больше и не нужно.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"469\" data-ratio=\"1.4702194357367\">\n<img src=\"https:\/\/www.kini24.ru\/pictures\/rustdesk@2x.png\" width=\"469\" height=\"319\" alt=\"\" \/>\n<img src=\"https:\/\/www.kini24.ru\/pictures\/rustdesk_settings@2x.png\" width=\"182\" height=\"213\" alt=\"\" \/>\n<\/div>\n<\/div>\n<p>Из интересного присутствуют возможность TCP-туннелирования, избранное, адресная книга (возможность пока не реализована) и, видимо, что-то вроде личного кабинета на сервере (тоже пока не реализовано). Также можно использовать сгенерированный программой пароль или указать свой. Присутствует возможность в качестве идентификатора указать свое имя — так подключившийся человек будет отображаться у клиента. Еще одним любопытным свойством является возможность предоставить клиенту исполняемый файл с предустановленными настройками на свой сервер. Для этого нужно всего лишь изменить имя файла, например на такое:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">rustdesk-host=&lt;host-ip-or-name&gt;,key=&lt;строка-открытого-ключа&gt;<\/code><\/pre><p>где <i>host-ip-or-name<\/i> — DNS или IP-адрес вашего сервера, а <i>строка-открытого-ключа<\/i> — публичный ключ, который выдает вам сервер после своего запуска и который хранится в файле id_******.pub.<br \/>\nПодводя итог краткого обзора, могу сказать, что программа имеет все шансы заместить TeamViewer, Anydesk и другие подобные программы. Я бы порекомендовал ее к использованию.<\/p>\n",
            "date_published": "2022-12-24T14:35:09+07:00",
            "date_modified": "2023-02-27T15:53:57+07:00",
            "tags": [
                "rustdesk",
                "доступ",
                "сервер",
                "удаленное управление"
            ],
            "image": "https:\/\/www.kini24.ru\/pictures\/rustdesk@2x.png",
            "_date_published_rfc2822": "Sat, 24 Dec 2022 14:35:09 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "258",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js",
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/www.kini24.ru\/pictures\/rustdesk@2x.png",
                    "https:\/\/www.kini24.ru\/pictures\/rustdesk_settings@2x.png"
                ]
            }
        },
        {
            "id": "175",
            "url": "https:\/\/www.kini24.ru\/all\/samsung-tv\/",
            "title": "Управление Samsung TV через сеть",
            "content_html": "<p>Не оставляю попыток получить управление своим ТВ через сеть. Периодически поглядываю через wireshark на него, но информации маловато для понимания. Существует же множество утилит, которые позволяют управлять им со смартфона, значит это возможно. Для линукса существует утилита samsungctl, но мою модель она не поддерживает (???)<\/p>\n<p class=\"aside\">Я вообще когда-нибудь получу контроль над ним через сеть?<\/p>\n<p>Ниже список доступных портов, чтобы не забыть.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># nmap -v -p1-65535 -sS 192.168.1.7\n\nCompleted SYN Stealth Scan at 11:56, 3.12s elapsed (65535 total ports)\nNmap scan report for Samsung-TV.kini24.ru (192.168.1.7)\nHost is up (0.00065s latency).\nNot shown: 65517 closed ports\nPORT      STATE SERVICE\n7676\/tcp  open  imqbrokerd\n7678\/tcp  open  unknown\n8001\/tcp  open  vcom-tunnel\n8002\/tcp  open  teradataordbms\n8080\/tcp  open  http-proxy\n8187\/tcp  open  unknown\n9012\/tcp  open  unknown\n9119\/tcp  open  unknown\n9197\/tcp  open  unknown\n9999\/tcp  open  abyss\n15500\/tcp open  unknown\n32768\/tcp open  filenet-tms\n32769\/tcp open  filenet-rpc\n32770\/tcp open  sometimes-rpc3\n32771\/tcp open  sometimes-rpc5\n39556\/tcp open  unknown\n52752\/tcp open  unknown\n56295\/tcp open  unknown\nMAC Address: 7C:64:56:FE:76:2A (Unknown)<\/code><\/pre><p>Порты Samsung AllShare: 7676, 7678, 8187, 9119, 9197<\/p>\n<p>Полное сканирование портов:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">PROTOCOL STATE         SERVICE\n1        open          icmp\n2        open|filtered igmp\n6        open          tcp\n17       open          udp\n136      open|filtered udplite\n255      open|filtered unknown\n7676\/tcp  open  imqbrokerd\n7678\/tcp  open  unknown\n8001\/tcp  open  vcom-tunnel\n8002\/tcp  open  teradataordbms\n8080\/tcp  open  http-proxy\n8187\/tcp  open  unknown\n9012\/tcp  open  unknown\n9119\/tcp  open  unknown\n9197\/tcp  open  unknown\n9999\/tcp  open  abyss\n15500\/tcp open  unknown\n26101\/tcp open  unknown\n32768\/tcp open  filenet-tms\n32769\/tcp open  filenet-rpc\n32770\/tcp open  sometimes-rpc3\n32771\/tcp open  sometimes-rpc5\n40046\/tcp open  unknown\n57772\/tcp open  unknown\n60850\/tcp open  unknown\n1900\/udp  open|filtered upnp\n5353\/udp  open|filtered zeroconf\n8001\/udp  open|filtered vcom-tunnel\n32768\/udp open|filtered omad\nMAC Address: 7C:64:56:FE:76:2A (Unknown)<\/code><\/pre>",
            "date_published": "2022-12-12T14:00:40+07:00",
            "date_modified": "2022-12-21T18:40:16+07:00",
            "tags": [
                "samsung",
                "smarttv",
                "доступ",
                "порт",
                "сеть",
                "сканирование",
                "удаленное управление"
            ],
            "_date_published_rfc2822": "Mon, 12 Dec 2022 14:00:40 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "175",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "210",
            "url": "https:\/\/www.kini24.ru\/all\/pryamoy-dostup-k-seti-po-ipv6\/",
            "title": "Прямой доступ к сети по IPv6",
            "content_html": "<p>Два дня искал как получить прямой доступ к компьютерам в сети через IPv6. Ни один способ не подходил, сколько не пробовал в самых разных вариациях. Самое забавное, что месяц-два назад я как-то этот доступ настраивал. Потом роутер пришлось сбрасывать до заводских настроек, а в памяти этот момент не отложился.<br \/>\nВ итоге, все оказалось очень просто (надеюсь, ничего не забыл)...<br \/>\nОткрываем веб-морду OpenWrt, входим под своими логином и паролем. Затем идем на вкладку <b>Network<\/b> — <b>Interfaces<\/b> и в поле «IPv6 ULA-Prefix» вводим префикс подсети. Например, такой: 2002:1234:5678:1234::\/64. Компьютеры в локалке, конечно же, должны иметь адреса из этого же диапазона. Следом стоит дать разрешение в брэндмауэре. Для этого открываем <b>Firewall<\/b> — <b>General settings<\/b> и для пунктов <b>Input<\/b>, <b>Output<\/b> и <b>Forward<\/b> в самом верху ставим «Ассept».<br \/>\nПрименяем сделанные изменения, перезагрузка не требуется.<\/p>\n",
            "date_published": "2018-08-17T15:31:36+07:00",
            "date_modified": "2018-08-17T15:31:29+07:00",
            "tags": [
                "ipv6",
                "openwrt",
                "доступ",
                "локальная",
                "роутер",
                "сеть"
            ],
            "_date_published_rfc2822": "Fri, 17 Aug 2018 15:31:36 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "210",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "69",
            "url": "https:\/\/www.kini24.ru\/all\/nastroyka-vpn-na-openwrt\/",
            "title": "Настройка VPN на OpenWrt",
            "content_html": "<h3>Доступ в домашнюю сеть<\/h3>\n<p>На фоне запретов на VPN и анонимайзеров, взбрело в голову прокинуть туннель в свою домашнюю сеть. Так сказать, пока это не стало противоправным действием :-) Все делал вот по <a href=\"https:\/\/wiki.openwrt.org\/ru\/doc\/howto\/vpn.openvpn\">этой статье<\/a>. С первого раза ничего не заработало. После небольшого расследования оказалось, что клиентский сертификат неверно сгенерировался и получился файл нулевого размера. Пришлось переделывать все заново. После этого я смог подключиться к домашней сети, но у меня не было доступа ни к одному компьютеру в ней. Для доступа к ней пришлось выполнить еще одно действие из этой же статьи, из англоязычной ее части:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># uci add_list openvpn.myvpn.push=&#039;route 192.168.1.0 255.255.255.0&#039;<\/code><\/pre><p>Так как подсеть у меня такая же, то не пришлось править адрес и маску. После перезапуска OpnVPN на роутере все заработало: доступ в сеть есть, к компьютерам — тоже. Все работает, отлично!<br \/>\nНо, как обычно, показалось этого мало. Настроил OpenVPN и на смартфоне. Применение такого доступа нашлось сразу же: быстрый просмотр записей с камеры. VLC, конечно, на такой скорости плохо кэширует (надеюсь, это лечится), но снимки, которые создает motion из записанного видеофайла просмотреть можно. Уже, как говорится, хлеб.<br \/>\nЗатем, ради интереса, заглянул на собранную метеостанцию, посмотрел как там дела обстоят. Затем зашел на роутер, проглядел папку с торрентами.<br \/>\nИз «минусов» подключения по VPN вижу только то, что работать приходится не с именами машин, а с их IP-адресами. Но это уже мелочи.<\/p>\n",
            "date_published": "2017-06-26T18:38:57+07:00",
            "date_modified": "2017-06-26T18:38:50+07:00",
            "tags": [
                "android",
                "openvpn",
                "openwrt",
                "vpn",
                "доступ",
                "настройка",
                "сеть"
            ],
            "_date_published_rfc2822": "Mon, 26 Jun 2017 18:38:57 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "69",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}