Архив автора: admin

Проброс PPPoE соединение в Linux

Сегодня поговорим о том, как можно пробросить PPPoE соединение на Linux к другим машинам находящимся в локальной сети.






Предыстория




Завел я у себя дома небольшой сервер для всяких мирских нужд (торрент качалка, NAS-сервер, MiniDLNA-сервер, Web-сервер, Cloud-сервер ну и так далее.) Вот все это великолепие решил настроить в виртуальной среде. Для достижения поставленной цели выбрал проект Proxmox. На данный момент это версия Proxmox 7.1-4. В качестве провайдера выступает не без известный RT, у которого в качестве идентификации клиента используется протокол PPPoE. Вот тут-то и начинаются танцы с бубном:




В Proxmox v7 используется пакет – ifupdown2, для управления сетевыми настройками. Мне же чтобы поднять PPPoE соединение нужен был пакет pppoeconf у которого в зависимостях еще используется пакет – ifupdown. Ну как вы понимаете данные пакеты мешают работе друг друга. Встал выбор:




  • либо сносить с родительской машины, а это сам Proxmox, пакет ifupdown2 и устанавливать pppoeconf.
  • либо же поднимать виртуальную машину, а у же в ней использовать PPPoE соединение.




Я решил идти по второму пути, а для этого необходимо было пробросить PPPoE в локальную сеть. В этом мне помогла утилита pppoe-relay идущая в зависимостях пакета pppoe.




Синтаксис команды pppoe-relay




pppoe-relay [опции]




Опции pppoe-relay




  • S interface – Добавляет выбранный интерфейс в список интерфейсов, управляемых pppoe-relay. К этому интерфейсу могут быть подключены только PPPoE-серверы.
  • -С interface – Добавляет выбранный интерфейс в список интерфейсов, управляемых pppoe-relay. К этому интерфейсу могут быть подключены только PPPoE-клиенты.
  • -B interface – Добавляет интерфейс в список интерфейсов, управляемых pppoe-relay. К этому интерфейсу могут быть подключены как PPPoE-клиенты, так и серверы.
  • -n num – Позволяет не более num одновременных сеансов PPPoE. Если не указано, то значение по умолчанию равно 5000. num может варьироваться от 1 до 65534.
  • -i timeout – Задает тайм-аут простоя сеанса. Если оба одноранговых узла в сеансе простаивают более 30 секунд, сеанс завершается. Если тайм-аут указан равным нулю, сеансы никогда не будут прекращены из-за простоя.




Обратите внимание, что процедура истечения срока действия сеанса ожидания никогда не выполняется чаще, чем каждые 30 секунд, поэтому тайм-аут является приблизительным. Значение тайм-аута по умолчанию составляет 600 секунд (10 минут).




  • -F – Опция приводит к тому, что pppoe-relay не разветвляется на задний план; вместо этого он остается на переднем плане.
  • -h – Опция печатает краткое сообщение об использовании и завершает работу.




Примеры pppoe-relay




pppoe-relay -S eth0 -C eth1




Приведенный выше пример ретранслирует кадры между PPPoE-клиентами в сети eth1 и PPPoE-сервером в сети eth0.




pppoe-relay -B eth0 -B eth1




В данном пример применяется прозрачная ретрансляция. Кадры ретранслируются между любым набором клиентов и серверов в сетях eth0 и eth1.




pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3




Этот пример ретранслирует кадры между сервером в сети eth0 и клиентами в сетях eth1, eth2 и eth3.




Как узнать имена интерфейсов.




Для того чтобы узнать какие у вас присутствуют интерфейсы необходимо набрать следующую команду:




ip addr




1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3c:d9:2b:f9:f4:21 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::3ed9:2bff:fef9:f44c/64 scope link 
       valid_lft forever preferred_lft forever
3: enp3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000
    link/ether 3c:d9:2b:f9:f4:22 brd ff:ff:ff:ff:ff:ff
4: enp4s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master vmbr0 state DOWN group default qlen 1000
    link/ether 3c:d9:2b:f9:f4:23 brd ff:ff:ff:ff:ff:ff
5: enp4s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq master vmbr1 state DOWN group default qlen 1000
    link/ether 3c:d9:2b:f9:f4:24 brd ff:ff:ff:ff:ff:ff
.....




или же если у вас установлен пакет net-tool, то команда может быть вот такой:




ifconfig




lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 3730211  bytes 709093223 (676.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3730211  bytes 709093223 (676.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::3ed9:2bff:fef9:f44c  prefixlen 64  scopeid 0x20<link>
        ether 3c:d9:2b:f9:f4:21  txqueuelen 1000  (Ethernet)
        RX packets 117905888  bytes 153216511837 (142.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47840145  bytes 17578056257 (16.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 3c:d9:2b:f9:f4:22  txqueuelen 1000  (Ethernet)
        RX packets 36628262  bytes 16051408741 (14.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 99954928  bytes 127959590855 (119.1 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp4s0f0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 3c:d9:2b:f9:f4:23  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp4s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 3c:d9:2b:f9:f4:24  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0




Заключение




После использования утилиты pppoe-relay я перекинул кадры PPPoE в локальную сеть. На Виртуальной машине установил пакет pppoeconf и с помощью него установил соединение с интернетом. Далее уже настроил данную виртуальную машину на раздачу интернета в локальную сеть, т.е. поднял на ней DHCP-сервер, DNS-сервер и NAT. Теперь все это великолепие работает без перебоев. В будущем планирую установить USB-modem для бесперебойного канала связи. Ведь как говорится может случится всякое, а особенно с провайдером RT.



[endtxt]




. . . .




2022-03-22T10:34:32
Network

192.168.1.254 Вход в роутер. Настройка WI-FI роутера

Во многих современных Wi-Fi роутерах используется IP адрес http://192.168.1.254/ для входа в личный кабинет для управления настройками и совершения других действий, например усиления мощности интернет-сигнала.

Чаще всего вход в 192.168.1.254 подразумевает использование оборудования компании NETIS, роутеров компании MGTS (МГТС) работающих по технологии GPON.

192-168-1-254 Читать

Как хранить диаграммы Helm в реестре контейнеров Azure

В Helm есть много замечательных инструментов, но хранение диаграмм всегда было проблемой. Давайте посмотрим, как мы можем сделать этот процесс намного проще!

Одним из больших преимуществ понимания того, как работает экосистема контейнеров, является то, что вы можете использовать один и тот же шаблон для нескольких спецификаций.

Не так давно Helm объявил, что будет поддерживать артефакты OCI, которые представляют собой не что иное, как открытую спецификацию OCI для распространения образов контейнеров и других типов данных, называемых артефактами.

Эта спецификация, как и все другие спецификации OCI, не зависит от облака, что делает ее фантастическим инструментом для работы.

 

Контейнерные записи

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

По сути, изображение — это набор файлов, которые имеют примерно такую ​​структуру:

 ├── blobs

       │   └── sha256

       │       ├── 1b251d38cfe948dfc0a5745b7af5ca574ecb61e52aed10b19039db3...

       │       ├── 31fb454efb3c69fafe53672598006790122269a1b3b458607dbe106...

       │       └── 8ec7c0f2f6860037c19b54c3cfbab48d9b4b21b485a93d87b64690f...

       ├── index.json

       └── oci-layout


 

Файл index.json представляет собой список всех доступных манифестов, то есть это список всех изображений, доступных в определенном месте. В нашем случае это список всех карт руля.

Каждый файл внутри blobs/sha256 представляет собой JSON, который идентифицирует артефакт, будь то изображение или диаграмма. Этот JSON соответствует спецификации OCI для файлов SHA.

Если коротко, то это список настроек, описывающих характеристики BLOB, его настройки, свойства, слои файловой системы, а также начальные команды.

В случае Helm Chart у нас есть следующий файл:

{

  "schemaVersion": 2,

  "config": {

    "mediaType": "application/vnd.cncf.helm.config.v1+json",

    "digest": "sha256:8ec7c0f2f6860037c19b54c3cfbab48d9b4b21b485a93d87b64690fdb68c2111",

    "size": 117

  },

  "layers": [

    {

      "mediaType": "application/tar+gzip",

      "digest": "sha256:1b251d38cfe948dfc0a5745b7af5ca574ecb61e52aed10b19039db39af6e1617",

      "size": 2487

    }

  ]

}


 

Обратите внимание, что у нас есть дифференциация mediaType, в то время как обычный образ Docker имеет тип application/vnd.oci.image.config.v1+json.

Здесь у нас тип   application/vnd.cncf.helm.config, то же самое и со слоями, каждый слой изображения OCI имеет тип application/vnd.oci.image.layer.v1.tar+gzip, а здесь у нас есть только формат .tar.gz.

 

Размещение диаграмм в Реестре контейнеров Azure

Размещение диаграмм Helm в Azure CR очень похоже на их локальное хранение. Вам необходимо иметь доступ к Azure через Azure CLI. Мы предполагаем, что у вас уже есть Azure CLI, поэтому давайте создадим наш ACR.

Сначала мы должны создать нашу группу ресурсов, а затем ACR с помощью команд:

az group create -n helm-reg -l eastus

az acr create -n chartregistry$RANDOM -g helm-reg --sku Basic -o tsv --query loginServer

 

Совет — сохранить имя репозитория в переменной:

export ACR=$(az acr create -n chartregistry$RANDOM -g helm-reg --sku Basic -o tsv --query loginServer)


 

Теперь мы собираемся войти в наш реестр, используя управляемые ключи Azure, но нам нужно включить административный контроль с помощью az acr update -n $ACR —admin-enabled true.

Затем выполните следующие две команды, чтобы получить учетные данные для входа и сохранить их в оболочке:

export ACRUSER=$(az acr credential show -n $ACR --query username -o tsv)

export ACRPASS=$(az acr credential show -n $ACR --query 'passwords[0].value' -o tsv)


 

Теперь мы можем войти в наш реестр с помощью Helm helm registry login $ACR —username $ACRUSER —password $ACRPASS, и отсюда у нас уже настроен наш реестр.

Давайте создадим еще один артефакт с помощью helm chart save hrepo $ACR/hrepo:2.1.3(в качестве примера я буду использовать диаграмму из пустого репозитория с именем hrepo). Затем мы подтолкнем его с помощью helm chart push $ACR/hrepo:3.8.0.

Как только он будет там, мы сможем перечислить все в репозитории с помощью команды Azure CLI:

az acr repository show -n $ACR --repository hrepo


 

Обратите внимание, что у нас будет именно то, что мы отправили:

{

  "changeableAttributes": {

    "deleteEnabled": true,

    "listEnabled": true,

    "readEnabled": true,

    "writeEnabled": true

  },

  "createdTime": "2022-03-05T20:56:49.6118202Z",

  "imageName": "hrepo",

  "lastUpdateTime": "2022-03-05T20:56:49.7812323Z",

  "manifestCount": 1,

  "registry": "chartregistry23657.azurecr.io",

  "tagCount": 1

}


 

Мы также можем получить более подробную информацию с помощью команды show-manifests, добавив —detail:

az acr repository show-manifests -n $ACR --repository hrepo --detail


 

Это даст нам точное определение артефактов OCI:

[

  {

    "changeableAttributes": {

      "deleteEnabled": true,

      "listEnabled": true,

      "quarantineState": "Passed",

      "readEnabled": true,

      "writeEnabled": true

    },

    "configMediaType": "application/vnd.cncf.helm.config.v1+json",

    "createdTime": "2022-03-05T20:56:49.7213057Z",

    "digest": "sha256:4780713fa23d7144d356c353795b5b84e66ad2b8bbd47c7118b4b85435d50bbc",

    "imageSize": 1378,

    "lastUpdateTime": "2022-03-05T20:56:49.7213057Z",

    "mediaType": "application/vnd.oci.image.manifest.v1+json",

    "tags": [

      "2.1.3"

    ]

  }

]


 

Чтобы сохранить его, мы должны просто:

helm chart pull $ACR/hrepo:3.8.0

helm chart export $ACR/hrepo:3.8.0 -d ./destination

helm install hrepo-acr ./destination

 

Заключение

Хотя использовать Helm легко, все же не существует «простого» способа разместить диаграмму Helm как своего рода частную запись.

Хотя в Helm есть отличные инструменты, такие как Chart Museum, они все же не являются полностью стандартными, и для легкой распределенной разработки важно, чтобы у нас были открытые стандарты, которым может следовать каждый в целом.

Helm недавно перевел поддержку реестра OCI с экспериментальной на общую функцию, что является убедительным признаком того, что экосистема контейнеров становится все лучше.



2022-03-21T17:26:42
Microsoft

Windows 10 не требует ключа продукта для установки и использования

В отличие от более старых версий Windows, таких как Windows 7, Microsoft позволяет загружать и устанавливать Windows 10 без обязательного предоставления лицензионного ключа. Мало того, вы также можете использовать Windows 10 без ее активации навсегда. Тем не менее, есть некоторые ограничения, которые компания установила, что может немного раздражать. Хотите узнать больше о том, что значит использовать Windows 10 без ключа продукта? Читайте дальше, чтобы узнать, как установить Windows 10 без серийного ключа и что произойдет, если вы используете его без активации:

Нужен ли ключ продукта для загрузки Windows 10?

Нет, Microsoft не запрашивает у вас ключ продукта, чтобы вы могли загрузить установочный комплект Windows 10. На самом деле от вас не требуется абсолютно никаких подробностей. Вы можете загрузить Windows 10, ничего не сообщая Microsoft: ни ваша учетная запись Microsoft, ни серийный ключ Windows 10 не нужны.

Чтобы получить Windows 10, вы можете использовать любой веб-браузер для загрузки Media Creation Tool с веб-сайта Microsoft, здесь: Загрузите Windows 10. Когда вы попадете на страницу, нажмите или коснитесь кнопки «Загрузить инструмент сейчас» в разделе «Создать установочный носитель Windows 10». Затем сохраните и запустите исполняемый файл Media Creation Tool и используйте его для создания загрузочного USB-накопителя или DVD-диска с Windows 10.

Вам не нужен ключ продукта для загрузки Windows 10

Если вам нужно подробное руководство по загрузке и созданию установочного носителя с помощью Media Creation Tool, в этом руководстве показаны все шаги: Windows 10 Media Creation Tool — создание установочного USB-накопителя или ISO-образа.

Как установить Windows 10 без ключа продукта

После создания установочного носителя Windows 10 используйте его для загрузки компьютера, устройства или виртуальной машины. Затем запустите процесс установки Windows 10, как обычно.

Начните установку Windows 10, как обычно.

Когда вы дойдете до шага, на котором мастер установки Windows 10 попросит вас активировать Windows, нажмите или коснитесь «У меня нет ключа продукта».

Выберите У меня нет ключа продукта

Затем продолжите процесс установки Windows 10 в обычном режиме: мастер установки больше не будет запрашивать ключ продукта.

Что произойдет, если я установлю Windows 10 без ключа продукта?

При установке Windows 10 без предоставления серийного ключа могут возникнуть два сценария:

  • Это не первый раз, когда вы устанавливаете Windows 10 на свой компьютер или устройство, и предыдущая установка Windows 10 была активирована либо путем покупки нового лицензионного ключа Windows 10, либо с помощью предложения бесплатного обновления с Windows 7 или Windows 8.1, сделанная Microsoft в прошлом. В этом случае ваша новая Windows 10 будет автоматически бесплатно активирована, даже если на этот раз вы не ввели ключ продукта.
  • Это первый раз, когда вы устанавливаете Windows 10 на свой компьютер или устройство, и в этом случае на нем никогда не работала активированная операционная система Windows 10. В этом случае Microsoft не активирует Windows 10, пока вы не предоставите ключ продукта. Пока вы этого не сделаете, операционная система будет работать, но с рядом ограничений, которые мы перечислим в следующем разделе этой статьи.

Каковы ограничения нелицензионной копии Windows 10?

Если вы устанавливаете Windows 10 без ключа продукта и Microsoft не активирует его, вы сможете использовать его неограниченное время, но с парой ограничений. Наиболее важные из них следующие:

  • Windows 10 покажет водяной знак «Активировать Windows» в правом нижнем углу экрана.
  • Вы не сможете персонализировать свою Windows 10 из приложения «Настройки». К сожалению, это означает, что вы не можете изменить такие вещи, как фоновое изображение, цвета и темы, или настроить внешний вид меню «Пуск» или панели задач.
  • Приложение «Настройки» покажет уведомления о том, что ваша Windows 10 не активирована, и порекомендует вам приобрести ключ продукта Windows 10.

Вы можете использовать Windows 10 без ключа продукта навсегда, с некоторыми ограничениями.

Это основные недостатки использования Windows 10 без ключа продукта. В остальном нелицензионная копия Windows 10 работает так же, как и активированная. Вы можете использовать его так долго, как хотите.

Вы используете Windows 10 без ключа продукта?

Таким образом, Microsoft позволяет загружать и устанавливать Windows 10 без лицензионного ключа. Он даже позволяет вам использовать его столько, сколько вы хотите, даже не активируя его. Тем не менее, есть некоторые ограничения, если вы это сделаете. Достаточно ли их, чтобы заставить вас купить ключ продукта Windows 10? Или вы собираетесь использовать Windows 10 без ее активации? Дайте нам знать в комментариях ниже.



2022-03-21T16:08:38
Вопросы читателей

Как создать локальный репозиторий в Debian/Ubuntu

Для чего может потребоваться локальный репозиторий программ? Допустим у вас в офисе есть несколько рабочих станций без выхода в интернет. Но им нужно как-то устанавливать и обновлять ПО. В этом случае, на сервере (или другой машине, имеющей доступ в интернет), создаётся локальный репозиторий, который периодически обновляется. А остальные рабочие станции, берут оттуда программы. Также это может быть полезно в случае ограниченного или не всегда доступного интернета. Выкачали репозиторий — и в любой момент можете поставить любую доступную программу. В создании локального репозитория нет ничего сложного, сейчас я всё подробно опишу. Читать