LINUX.ORG.RU

Сообщения Dima_228

 

iptables - помогите пробросить порт

Форум — Admin

Доброй ночи!

На сервере с адресом 5.5.5.5 порт 6789 (UDP) висит демон. Нужно все пакеты, идущие на 4.4.4.4:1234 перенаправлять на 5.5.5.5:6789. Это UDP, потому никаких балансировщиков нагрузки, и nginx не предлагайте.

Что пробовал:

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1234 -j REDIRECT --to-port 5678

идеально работает локально, сервер отвечает по обоим портам, IP адрес клиента в обоих случаях правильный. Пытаюсь вместо --to-port поставить параметром --to IP:PORT, получаю ошибку:

REDIRECT: Bad value for "--to-ports" option

Вот такая конфигурация работает,

iptables -t nat -A PREROUTING -i eth0 -p udp --dport 1234 -j DNAT --to 5.5.5.5:6789
iptables -t nat -A POSTROUTING -p udp -d 5.5.5.5 --dport 6789 -j MASQUERADE

но на сервере вместо IP адреса клиента регистрируется IP адрес промежуточного сервера, а так нельзя. При этом если повторить локально (1234 перекидываю на 127.0.0.1:6789) - работает и без второй строчки, и IP адрес сохраняется верный.

Подскажите пожалуйста, как заставить -j REDIRECT работать с удаленным IP адресом либо -j DNAT не портить IP адрес с которого поступает запрос.

 ,

Dima_228
()

Виртуализация - помогите с выбором

Форум — General

Помогите с выбором виртуализации и подскажите каким образом можно реализовать то что я хочу, чтобы не оказалось на последнем шаге что с выбранной схемой работы это невозможно. Имею опыт установки только kvm и virtualbox, и то над тонкостями настройки никогда не задумывался, запускал на дефолте. В KVM в тот раз не удалось получить нормальный VNC сервер, требовался какой-то особый причем довольно кривой софт для работы с гостевой ОС, обычный VNC / RealVNC не подключался.

  1. Хост система - Linux, привычно Debian / Ubuntu.

  2. Гостевая система - обязательно винда, различные Linux, по возможности ведроиды и прочие мобильные ОС.

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

  4. Графика и 3D - ускорение.

Тему Виртуальные машины (vmware, vbox, qemu/kvm/xen, etc...) что выбрать? читал, там подымался вопрос «в игры играть» - пусть будет «да» потому что в гостевой ОС должны работать хардверное ускорение (либо его эмуляция), D3D и OpenGL. Если будут идти игры прошлого десятилетия то будет идти и все остальное что мне нужно. На VirtualBox винда из винды мне ни разу не удавалось запустить поддержку 3D ускорения, гость падал или вис при загрузке.

Вопросы, ответы на которые я пока не нашел:

  • какой все таки гипервизор выбрать? kvm? xen? Виндовые не предлагать

  • для работы в гостевой ОС сидя возле этого компьютера (не VNC), на хосте нужно ставить иксы и среду рабочего стола?

 , , , ,

Dima_228
()

Хранение IPv6 в Binary

Форум — Admin

Доброй ночи. Нужна помощь. Произвольные IP адреса (IPv4, IPv6) преобразуются в двоичное представление с помощью inet_pton() на PHP и записываются в базу данных в поле BINARY(16). Поскольку версия базы данных в сферическом приближении не содержит функций INET_ATON() / INET_NTOA() для IPv6 (знаю что некоторые последние содержат, но далеко не везде они стоят) то MySQL запрос формируется костылем вида «x’».bin2hex($ip).«’» (ну либо UNHEX() - не принципиально).

Теперь о проблеме. Если адрес IPv4, то в базе первые 4 байта будут заполнены данными, остальные нулями. Итого если исходное значение переменной в бинарном виде (длина 4 байта) скормить функции inet_ntop - получается исходный IP адрес. Если этой же функции скормить 16-байтное значение с нулями, прочитанное из базы данных - оно преобразуется в IPv4 адрес вида aaaa:bbbb::

Использовать костыли вида

$back = inet_ntop(substr($bin,0,4));

(так - работает) с проверкой по сравнению хвоста строки с нуль-чарами не вариант. Как посоветуете решить данную проблему чтобы и IPv6 и IPv4 при чтении из базы подавались функции inet_ntop и на выходе всегда был корректный результат?

 , , , ,

Dima_228
()

Уронил LVM

Форум — Admin

Доброй ночи.

При загрузке ошибка device-mapper: reload ioctrl on … failed: invalid argument device-mapper: table … raid: failed to un raid array.

Сервак со следующей конфигурацией:

  1. HDD /dev/sda содержал 2 раздела: sda1 (boot), sda2 (/root) и sda5 (/home) (LVM) по стандарту созданы установщиком Debian 10

  2. HDD2 /dev/sdb на котором зеркало /root, /home с 1го диска, зеркало раздела /sdc1, хвост отформатирован в NTFS

  3. HDD3 /dev/sdc = 1 раздел 512 GB для данных

Собственно все работало с первым хардом, настраивалось, до тех пор пока не было подключено зеркалирование lvconvert -m 1 /dev/vg1/root /dev/sda2 /dev/sdb1 и других описанных выше ново созданных пустых разделов. Первая перезагрузка - комп вылетает в (initramfs) shell в котором ограничено количество доступных команд.

lvm vgscan видит единственную существовавшую группу. lvm pvs видит /dev/sda5, /dev/sdb1, /dev/sdb2, /dev/sdc1 lvm lvs видит home, root, swap_1, test (создан на 100% оставшегося свободного в LVM места), vol500gb (3й хард + его зеркало на большем харде). ls /dev/sd* видит все разделы.

Что делать?

 , ,

Dima_228
()

Помогите настроить public bridge

Форум — Admin

Доброго времени суток!

Свежий Debian 10. Поставил kvm, libvirt и ravada в качестве веб морды. Нужна помощь в настройке public bridge. Все что делается по мануалам (в основном, англоязычным) - не работает. Что конкретно делалось в подробностях описывать не имеет смысла, главное текущее состояние и вопрос «что делать».

На физическом сервере 2 сетевых, обе смотрят в один LAN 192.168.1.0/24 (адреса .2 и .200 соответственно, статические). На вторую сетевуху приклеен br0. Задача сделать так чтобы виртуалки могли получать IP адрес напрямую от DHCP 192.168.1.1 и быть полноценными компьютерами локальной сети.

Предпринятые действия: br0 создан по мануалам. Смена сетевому интерфейсу «nat» на «bridge» редактированием виртуалки через ravada ничего не дает (хотя в VirtualBox на винде это всегда работало), в результате получилось 2 интерфейса с адресами от виртуального NAT (192.168.122.19 и еще какой-то). Пробовал ставить

<forward mode='bridge'/>

в virsh net-edit default, результата не видел. Последнее что сделано - virsh edit TestVM1, где одну из виртуальных сетевух переделал на согласно https://wiki.libvirt.org/page/Networking#Debian.2FUbuntu_Bridging, но тоже толку 0.

Текущее состояние. В виртуальной машине 2 интерфейса - ens3 (NAT, пусть будет, подключаюсь по SSH) и ens9 в идеале - DHCP. В реале DHCP уходил в таймаут и адрес не назначался, я переделал в статику (192.168.1.201). Теперь пинг с виртуальной машины на 192.168.1.1 не идет, интернет на виртуалке через NAT есть.

interfaces хоста

auto lo br0 enp4s0 enp10s0
iface lo inet loopback

allow-hotplug enp4s0
iface enp4s0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        gateway 192.168.1.1

iface enp4s0 inet6 manual
        pre-up /sbin/modprobe -q ipv6 ; /bin/true

iface br0 inet static
        address 192.168.1.200
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
        bridge_ports enp10s0
        bridge_stp off
        bridge_maxwait 0

iface enp10s0 inet manual

ifconfig хоста

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: enp10s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether XX:XX:XX:XX:XX:f3 brd ff:ff:ff:ff:ff:ff
3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:a3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global enp4s0
       valid_lft forever preferred_lft forever
    inet6 XXXX::XXX:XXXX:XXXX:23a3/64 scope link
       valid_lft forever preferred_lft forever
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.200/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether XX:XX:XX:XX:59:b3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether XX:XX:XX:XX:59:b3 brd ff:ff:ff:ff:ff:ff
17: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:41:81:36 brd ff:ff:ff:ff:ff:ff
    inet6 XXXX::XXXX:XX:XXXX:8136/64 scope link
       valid_lft forever preferred_lft forever
18: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN group default qlen 1000
    link/ether XX:XX:XX:XX:49:71 brd ff:ff:ff:ff:ff:ff
    inet6 XXXX::XXXX:XX:XXXX:4971/64 scope link
       valid_lft forever preferred_lft forever

interfaces хоста

auto lo
iface lo inet loopback

auto ens3
allow-hotplug ens3
iface ens3 inet dhcp

auto ens9
#в идеале DHCP но не работает
#allow-hotplug ens9
iface ens9 inet static
        address 192.168.1.201
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0
#        gateway 192.168.1.1

ifconfig хоста

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: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:81:36 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.19/24 brd 192.168.122.255 scope global dynamic ens3
       valid_lft 2047sec preferred_lft 2047sec
    inet6 XXXX::XXXX:ff:fe41:8136/64 scope link
       valid_lft forever preferred_lft forever
3: ens9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:49:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.201/24 brd 192.168.1.255 scope global ens9
       valid_lft forever preferred_lft forever
    inet6 XXXX::XXXX:XX:fea7:4971/64 scope link
       valid_lft forever preferred_lft forever

Нужна помощь.

 , , , ,

Dima_228
()

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