Skip to main content

Office Testbed

                                                                                                                                                                         

Исходные данные Стенда:

Ноутбук с Windows 11 Pro
Ноутбук с Linux Astra 1.8 Desktop
Коммутатор - TP-Link TL-SG108


VM-Server (Linux Astra 1.8 server)

Отключение NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager
sudo systemctl restart networking
systemctl status networking
Настройка Static IP без gw/dns
sudo tee /etc/network/interfaces > /dev/null << 'EOF'
auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet static
    address 192.168.122.2/24
    gateway 192.168.122.1
    dns-nameservers 192.168.122.1
EOF
sudo systemctl restart networking

Host-Desktop (Linux Astra 1.8)

Настройка Static IP без gw/dns

Узнаем имя Wi-Fi адаптера

nmcli device status
nmcli con show

Имя адаптера "Gigant_Guests"

sudo nmcli con mod "Wired connection 1" \
  ipv4.method manual \
  ipv4.addresses 192.168.10.3/24 \
  ipv4.gateway "" \
  ipv4.dns "" \
  ipv4.never-default yes \
  ipv6.method disabled

Применяем изменения

sudo nmcli con up "Gigant_Guests"
ip -4 addr show eno1
Включение IPv4-форвардинга
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-forward.conf
sudo sysctl --system
sysctl net.ipv4.ip_forward
Hook для libvirt firewall
sudo mkdir -p /etc/libvirt/hooks
sudo tee /etc/libvirt/hooks/network > /dev/null << 'EOF'
#!/bin/bash
# $1 = имя сети, $2 = операция
if [ "$1" = "default" ] && [ "$2" = "started" ]; then
    # Win11 (LAN) -> ВМ
    iptables -C FORWARD -i eno1 -o virbr0 -s 192.168.10.0/24 -d 192.168.122.0/24 -j ACCEPT 2>/dev/null || \
        iptables -I FORWARD 1 -i eno1 -o virbr0 -s 192.168.10.0/24 -d 192.168.122.0/24 -j ACCEPT

    # ВМ -> Win11 (ответы и новые соединения)
    iptables -C FORWARD -i virbr0 -o eno1 -s 192.168.122.0/24 -d 192.168.10.0/24 -j ACCEPT 2>/dev/null || \
        iptables -I FORWARD 2 -i virbr0 -o eno1 -s 192.168.122.0/24 -d 192.168.10.0/24 -j ACCEPT
fi
EOF
sudo chmod +x /etc/libvirt/hooks/network

Применение изменений

sudo systemctl restart libvirtd
sudo virsh net-destroy default && sudo virsh net-start default
sudo virsh net-autostart default

# Проверка правил
sudo iptables -L FORWARD -n -v --line-numbers | head

Work-Desktop (Windows 11 Pro)

Настройка Static IP без gw/dns

Имя адаптера "Ethernet"

$if = "Ethernet"
Get-NetIPAddress -InterfaceAlias $if -AddressFamily IPv4 -ErrorAction SilentlyContinue | Remove-NetIPAddress -Confirm:$false
New-NetIPAddress -InterfaceAlias $if -IPAddress 192.168.10.2 -PrefixLength 24

Профиль «Частная сеть», чтобы брандмауэр не блокировал

Set-NetConnectionProfile -InterfaceAlias $if -NetworkCategory Private
Static route to VM subnet

IP Astra Хоста - 192.168.10.3
Сеть Astra ВМ  - 192.168.122.0

route -p add 192.168.122 mask 255.255.255.0 192.168.10.3 metric 1

Разрешение входящего ping на Win11

New-NetFirewallRule -DisplayName "Allow ICMPv4-In" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -Profile Any

Проверка

route print -4 | findstr 192.168.122

ping 192.168.10.3
ping 192.168.122.1
ping 192.168.122.2