В предыдущей статье мы производили настройку сети Vlan, продолжим глубже знакомиться с VLAN, а точнее с управлением оборудования.

Вводные данные: Нужно задать коммутатору ip-адрес, который будет доступен по 22 VLAN.
В качестве примера имеем коммутатор Dlink DGS-1510-52X

1. Заходим в режим конфигурации:

Switch#conf terminal

2. Создаем необходимый нам VLAN 22,management vlan.

Switch(config)#vlan 22
Switch(config-vlan)#exit

3. Назначаем ip адрес switch на интерфейсе 22 VLAN.

Switch(config)#interface vlan 22
Switch(config-if)#ip address 192.168.22.101 255.255.255.0

Теперь мы имеем доступ к коммутатору только с компьютера, к которому проброшен 22 VLAN.

4 thoughts on “Vlan управления настройка.

  1. ip link add link ens18 name ens18.300 type vlan id 300
    ip link set dev ens18.300 up
    ip addr add 10.0.10.66/27 dev ens18.300
    ip route add 0.0.0.0/0 via 10.0.10.65
    echo nameserver 8.8.8.8 > /etc/resolv.conf
    restart
    systemctl enable —now openvswitch
    mkdir /etc/net/ifaces/ens19
    mkdir /etc/net/ifaces/ens20
    mkdir /etc/net/ifaces/ovs0
    mkdir /etc/net/ifaces/mgmt
    sed -i «s/OVS_REMOVE=yes/OVS_REMOVE=no/g» /etc/net/ifaces/default/options
    vim /etc/net/ifaces/ovs0/options
    TYPE=ovsbr
    HOST=’ens18 ens19 ens20’

    vim mgmt /etc/net/ifaces/mgmt/options
    TYPE=ovsport
    BOOTPROTO=static
    CONFIG_IPV4=yes
    BRIDGE=ovs0
    VID=300

    cp /etc/net/ifaces/ens18/options /etc/net/ifaces/ens19/options
    cp /etc/net/ifaces/ens18/options /etc/net/ifaces/ens20/options
    echo 10.0.10.66/27 > /etc/net/ifaces/mgmt/ipv4address
    echo default via 10.0.10.65 > /etc/net/ifaces/mgmt/ipv4route
    systemctl restart network
    ovs-vsctl set port ens18 trunk=100,200,300
    ovs-vsctl set port ens19 tag=200
    ovs-vsctl set port ens20 tag=100
    modprobe 8021q

  2. Цикл для создания 30 пользователей User1-User30, пароль P@ssw0rd, срок действия пароля до 2025:
    for i in {1..30};do
    echo «P@ssw0rd» | ipa user-add user$i —first=User —last=$i —password;
    ipa user-mod user$i —setattr=krbPasswordExpiration=20251225011529Z;
    done

    group1:
    for i in {1..10}; do
    ipa group-add-member group1 —users=user$i;
    done

    Устанавливаем сертификат FreeIPA:
    cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/
    update-ca-trust extract

  3. Вот пример Ansible Playbook, который подключается к хостам, получает имя устройства и IP-адрес, а затем записывает результат в единый файл на управляющем хосте (Ansible-хосте):

    YAML

    — hosts: all
    tasks:
    — name: Gather facts
    ansible.builtin.setup:

    — name: Write device info to file
    ansible.builtin.lineinfile:
    path: /path/to/device_info.txt
    line: «Hostname: {{ ansible_hostname }}, IP Address: {{ ansible_host }}»
    create: yes
    state: present
    delegate_to: localhost
    run_once: true
    Давайте разберем этот Playbook по шагам:

    1. hosts: all — указывает, что данный Playbook будет выполнен на всех хостах, определенных в инвентаре Ansible.

    2. tasks: — начало секции задач.

    3. — name: Gather facts — задача, которая собирает факты об управляемых хостах, включая имя устройства и IP-адрес.

    4. ansible.builtin.setup: — модуль, который используется для сбора фактов об управляемых хостах.

    5. — name: Write device info to file — задача, которая записывает информацию об устройстве в файл.

    6. ansible.builtin.lineinfile: — модуль, который используется для добавления или изменения строк в файле.

    7. path: /path/to/device_info.txt — путь к файлу на управляющем хосте (Ansible-хосте), в который будет записана информация об устройствах.

    8. line: «Hostname: {{ ansible_hostname }}, IP Address: {{ ansible_host }}» — строка, которая будет записана в файл. Здесь используются факты ansible_hostname и ansible_host, которые были получены на предыдущем шаге.

    9. create: yes — создает файл, если он не существует.
    10. state: present — гарантирует, что строка будет добавлена в файл.

    11. delegate_to: localhost — указывает, что эта задача должна быть выполнена на управляющем хосте (Ansible-хосте), а не на управляемых хостах.

    12. run_once: true — гарантирует, что эта задача будет выполнена только один раз, независимо от количества управляемых хостов.

    Для запуска этого Playbook выполните следующую команду:

    shell

    ansible-playbook -i inventory.yml playbook.yml
    Где:
    — inventory.yml — файл с инвентарем хостов, к которым нужно подключиться.
    — playbook.yml — файл с описанным выше Playbook.

    После выполнения Playbook, в файле /path/to/device_info.txt на управляющем хосте (Ansible-хосте) будет записана информация обо всех управляемых хостах в формате «Hostname: , IP Address: «.

    3885 из 16384

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.