LINUX.ORG.RU

Сообщения Vetrintsev

 

Маршрутизация через 3х ubuntu server

Форум — General

Всем добрый день!

появилась проблема. Чтобы появилась возможность обмениваться с заблокированным локально сервисом по API (нужно получать webhooks и от туда же слать запросы), пришлось поднять дополнительный сервер google CE.

Сеть вышла следующая:

External IP google > Internal IP GCE [VM google] > External IP real server in RF > local IP [локальная VM].

Мне нужно чтобы отправленный на External IP google webhook по https дошел до виртуалки поднятной на реальном сервере.

У реального сервера внешний ip и правила в iptables:

iptables -t nat -A PREROUTING -d ###.###.###.### -p tcp --dport 443 -j DNAT --to-destination 192.168.122.212
iptables -t filter -I FORWARD 1 -p tcp --dport 443 -j ACCEPT

и этот внешний ip [###.###.###.###] отлично работает.

По этой аналогии решил сделать то же самое

iptables -t nat -A PREROUTING -d 10.###.###.### -p tcp --dport 443 -j DNAT --to-destination ###.###.###.###
iptables -t filter -I FORWARD 1 -p tcp --dport 443 -j ACCEPT

10.###.###.### - внутренний ip адрес локальной машины. на него гугл сам редиректит external ip.

Так вот при этой схеме браузер по запросу External IP google долго думает и пишет что сервер не отвечает...

Что не так я делаю? помогите, пожалуйста.

 ,

Vetrintsev
()

HASP ключ внутри гостя выглядит как PCI-Устройство / H Ubuntu server 16.04 / G Win7

Форум — General

Добрый вечер!

На виртуалке не пробрасывается HASP USB ключ.

#virsh edit
<domain type='kvm'>
  <name>win7ult</name>
  <uuid>3b279a44-cb08-4017-af00-47e2b84d9468</uuid>
  <memory unit='KiB'>3145728</memory>
  <currentMemory unit='KiB'>3145728</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Penryn</model>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='yes'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/win7ult.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/ukriptuns/images/ru-en_win7_sp1_x86-x64_18in1_activated_v5.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:08:26:c6'/>
      <source network='default'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5927' autoport='no'/>
    <video>
      <model type='vga' vram='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
</domain>

если я добавлю

<hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0529'/>
        <product id='0x0001'/>
        <address bus='4' device='2'/>
      </source>
    </hostdev>
То ничего не изменится.

#lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0000:0000
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Вроде все по всем инструкциям сделал, но как то не пробрасывается видимо. Можете подсказать в чем дело?

 , , , ,

Vetrintsev
()

Как изолировать виртуалку от локальной сети но пустить в интернет / kvm / host ubuntu 16 / guest win 7

Форум — Admin

Добрый день!)

Не могу составить нормальный запрос, чтобы найти ответ в сети. С сетью я не очень хорошо дружу, пока. Поэтому прошу Вашей помощи!)

Есть микротик, есть воткнутый в него Ubuntu Server 16.04 со следующими интерфейсами

auto br0
iface br0 inet dhcp
        bridge_ports enp3s0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off
        pre-up iptables-restore < /etc/iptables.up.rules

auto enp4s0
        iface enp4s0 inet static
        address 192.168.135.1
        netmask 255.255.255.0
        network 192.168.135.0
        broadcast 192.168.135.255

enp4s0 - сейчас бездействует.

# /etc/iptables.up.rules:
# Generated by iptables-save v1.6.0 on Sat Jan 13 15:12:40 2018
*nat
:PREROUTING ACCEPT [657:55334]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -j MASQUERADE
COMMIT
# Completed on Sat Jan 13 15:12:40 2018
# Generated by iptables-save v1.6.0 on Sat Jan 13 15:12:40 2018
*filter
:INPUT ACCEPT [377:29463]
:FORWARD ACCEPT [299:36992]
:OUTPUT ACCEPT [1:76]
-A FORWARD -s 192.168.135.0/24 -i enp3s0 -o enp4s0 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Jan 13 15:12:40 2018

Есть виртуалки. Мостом отлично кидаются в микротик. Вот так я их устанавливаю (пример):

sudo virt-install \
--connect qemu:///system \
--name win7ult \
--memory 3072 \
--vcpus 2 \
--cdrom /home/user/images/win7.iso \
--os-variant win7 \
--disk /var/lib/libvirt/images/win7ult.img,size=100 \
--network bridge=br0 \
--graphics vnc,port=5927 \
--hvm \
--autostart \
--debug

Но одна из них (конкретно гость на windows 7) (а потом может быть и еще парочка) должны быть изолированы от сети микротика, но иметь выход в интернет.

К микротику физически подключены и другие устройства, так вот именно эта виртуалка не должна видеть устройства подключенные/проброшенные к микротику, и наоборот, эти устройства не должны видеть ее. Но сама виртуалка должна иметь доступ в интернет.

Проблема еще в том, что в случае ошибки я могу потерять сервер, и добраться до него физически это несколько дней) Может заодно порекомендуете, как поступать в таких случаях? Какой-то сервис надо написать/запустить на сервере, чтобы он сам перезапускал нормальную сеть/сервер если потерял связь с миром?)

 , , , ,

Vetrintsev
()

Упала сеть после установки qemu-kvm... и не восстанавливается

Форум — General

Доброго дня и с наступающими праздниками!!! Помогите разобраться, не понимаю.

Стоит на стареньком HP сервере Ubuntu Server 16.04.3 . две карты, маркированы enp4s0 и enp3s0 . Поставил

qemu-kvm libvirt-bin bridge-utils virt-manager cpu-checker

Сеть настроил, настроил мост, br4 (так я его назвал) был на базе enp4s0. enp3s0 отдавала интернет дальше, настроил iptables. все работало отлично...

Перезагружался, все отлично стартовало.

Но тут я создал и запустил первую VM (с автостартом), интернет был везде. Пока не сделал shutdown.

после чего отдал сервак на монтаж, и там обнаружилось, что сеть при запуске более не поднимается (((

при старте мы ждем 5 минут:

a start job is running for raise network interfaces

в итоге networking запускается (active), но сети нет. dhcp не работает.Роутер сервер не видит.

убил все настройки до двух строчек в /etc/network/interfaces не спасает. Таймаут уходит только если я сетевую карту вообще удаляю из /etc/network/interfaces либо делаю ее allow-hotplug, но сети то все равно нет.

sudo dhclient -v enp4s0
не отрабатывает, пытается найти dhcp и не может... Настроил dhcp на другую карту enp3s0 - то же самое. Если кабель вытащить из сетевой - проблема сохраняется.

удалил вот это вот все

sudo apt remove qemu-kvm libvirt-bin bridge-utils virt-manager
Ничего не изменилось.

Но заметил, что в папке /etc/systemd/system/ осталось много файлов «libvirt*», думаю, что всю сеть порушили они...

Как восстановить сеть? Сносить ось нет смысла, мне надо запустить все это вместе с kvm, поэтому надо понять что не так сделал...

 , , ,

Vetrintsev
()

Проброс интернета из Win7 в UbuntuServer16.04

Форум — Admin

Всем привет!

Так вышло, что ко мне попал сервер. Хочу предварительно настроить его. Нужно подключение к интернет. Ubuntu Server 16.04 чистый.

На Windows 7 открыл общий доступ в сеть интернет, винда присвоила второй карте IP 192.168.137.1

на Ubuntu настроил сеть по инструкции

конфиг получился:

auto enp3s0
iface enp3s0 inet static 
address 192.168.137.100 
netmask 255.255.255.0 
gateway 192.168.137.1
dns-nameservers 192.168.137.1 8.8.8.8

Перезапустил.

Пингую 192.168.137.100 с винды - пингуется отлично.

Пингую 192.168.137.1 с Ubuntu - отправляет пакет и не получает ответа. Прерываю CTRL+C - получаю кучу отправленных пакетов и все потерянные.

Что я делаю не так, подскажите, пожалуйста...

 , ,

Vetrintsev
()

Две VGA из одной iommu_group в разные виртуалки

Форум — General

Всем привет!

В прошлой теме оказался творческий эксперимент.

Сейчас возник вопрос по возможности проброса двух карт из одной iommu_group в две виртуалки через qemu-kvm.

Запускаю их по отдельности - соответственно все работает картинка выводится с нужных VGA. А запускаю вместе, во второй вылетает эта ошибка:

Ошибка запуска : internal error: early end of file from monitor: possible problem:
2016-08-08T20:51:44.223656Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: error opening /dev/vfio/1: Device or resource busy
2016-08-08T20:51:44.223677Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: vfio: failed to get group 1
2016-08-08T20:51:44.223687Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device initialization failed.
2016-08-08T20:51:44.223696Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: Device 'vfio-pci' could not be initialized

Правильно я понимаю что это проблема из-за их присутствия в одной iommu_group? Эту проблему можно обойти?

Есть еще третий слот PCI-E x16 v3.0 на материнке, но у него макс 4 pin активных, это наверное будет ощутимая просадка... Но судя по инструкции он окажется на другом iommu.

 ,

Vetrintsev
()

Новичек пытается пробросить GTX 970 на qemu-kvm

Форум — General

Всем ГУРУ линукса, Доброго дня Вам! :)

Я всю жизнь жил в WINDOWS, последние лет 7 в 7 )))

На прошлой неделе поставил Debian, актуальная версия с сайта.

уже узнал что такое терминал, как установить qemu-kvm, virt-manager и прочее что писали в разных статьях...

В общем я удачно смог запустить виртуальную машину через virt-manager и пробросить через «Add Device» оба устройства. Система на ВМ на момент проброса уже была установлена, гостевая винда увидела новое устройство, аудио стало сразу, на gpu скачал драйвера, все встало но после перезагрузки ВМ - синий экран...

Соответственно в проце есть своя vga, которую я использую на хосте, а pci карту пробрасываю в ВМ. Соответственно grub и bios настроены, аппаратная виртуализация в целом работает. У меня: Intel core i7 4x3.6GGz GT, Asus Strix GTX 970

Подумал, что проблема в самой настройке ВМ. На форумах узнал что NVidia на уровне драйверов блокирует запуск на kvm, если видит данный параметр.

После чего нашел отличную статью с бенчмарком: http://www.fassen.net/video/v1cFWrKtWis/ Там все вроде понятно написано, но я не понимаю как эти параметры воткнуть в конфигурацию ВМ?

Я уже изучил virt-inst, но застрял на том, что нет каталога vfio-pci, да и вообще vfio терминал не понимает, а там надо объединить графику и звук, видимо, это описано много где, например здесь: https://wiki.debian.org/VGAPassthrough

Далее куда надо прописать параметры, которые указаны для запуска?

DEVICE1="03:00.0" ( The GTX970 address in my system )
DEVICE2="03:00.1"

./vfio-bind 0000:$DEVICE1 0000:$DEVICE2

QEMU_PA_SAMPLES=6144 QEMU_AUDIO_DRV=pa \
qemu-system-x86_64 -enable-kvm -m 8192 -cpu host,kvm=off \
-smp 4,sockets=1,cores=4,threads=1 \
-machine q35,accel=kvm \
-soundhw hda \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device vfio-pci,host=$DEVICE1,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=$DEVICE2,bus=root.1,addr=00.1 \
-vga none \
-bios /usr/share/seabios/bios.bin \
-device virtio-net-pci,netdev=user.0,mac=52:54:00:03:02:01 \
-netdev user,id=user.0 \
-drive file=win7-x64_system.qcow2,if=none,id=drive-virtio-disk0,format=qcow2 \
-device virtio-blk-pci,scsi=off,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
-drive file=win7-games.qcow2,if=none,id=drive-virtio-disk1,format=qcow2 \
-device virtio-blk-pci,scsi=off,addr=0x8,drive=drive-virtio-disk1,id=virtio-disk1 \
-rtc base=localtime,driftfix=slew \
-device qxl \
-device usb-kbd \
-usbdevice host:1e7d:2d51 (USB Mouse)

В общем я понимаю, что у меня есть грамотные куски информации, но в силу моей зелености в Linux'ах, мне не хватает опыта, чтобы свести эту информацию воедино. Я посмотрел конфиги xml виртмашины, которую создал virt-manager, но не могу найти инструкции, как его править, все статьи создают машины только через команды.

Люди добрые, подскажите, по шагам, как мне сделать ВМ с пробросом моей карты?

Может где есть полная статья под debian, от того какие компоненты и как надо установить, до того, как запустить ВМ с аналогичными командами (Куда их прописать?), тогда я подставлю эти команды с поправкой на адреса моей карты и вуаля?...

В общем я пытался найти всю информацию сам, но понял, что без помощи я здесь не разберусь :)

 , , ,

Vetrintsev
()

RSS подписка на новые темы