проброс портов в VM kvm debian 12

Автор dron, 22 июля 2024, 19:41:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dron

Доброго дня всем.

Не могу пробросить порты в виртуальную машину debian 12, расположенную на хосте debian 12.

хост: 192.168.0.141
vm: 192.168.122.158

Находясь на хосте, по ssh, спокойно захожу на vm.

На vm запущен nginx и он работает если просматриваешь сайт его в lynx, по адресу localhost или 192.168.122.158

Причем если открыть страницу 192.168.122.158 в хосте, так же показывает начальную страницу nginx

Но если на хосте открыть в Lynx 192.168.0.141:6666 то страница недоступна.

root@debil:~# virsh net-edit default_mail

<network>
  <name>default_mail</name>
  <uuid>9a05da11-e96b-47f3-8253-a3a482e445f5</uuid>
  <forward mode='nat'/>
  <bridge name='br0' stp='on' delay='0'/>
  <mac address='52:54:00:0a:cd:21'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
      <host mac='52:54:00:10:29:21' name='deb_mail' ip='192.168.122.158'/>
    </dhcp>
  </ip>
</network>


пробовал по разному добавлять правила (это один из примеров)
iptables -t nat -I PREROUTING -p tcp -d 192.168.0.141 --dport 6666 -j DNAT --to-destination 192.168.122.128:80

но в iptables не появляются записи
root@debil:~# iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1719  133K DOCKER     all  --  any    any     anywhere             anywhere             ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    1    60 DOCKER     all  --  any    any     anywhere            !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  any    !docker0  172.17.0.0/16        anywhere           
   49  4091 LIBVIRT_PRT  all  --  any    any     anywhere             anywhere           

Chain DOCKER (2 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  docker0 any     anywhere             anywhere           

Chain LIBVIRT_PRT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    1    40 RETURN     all  --  any    any     192.168.122.0/24     base-address.mcast.net/24
    0     0 RETURN     all  --  any    any     192.168.122.0/24     255.255.255.255     
    0     0 MASQUERADE  tcp  --  any    any     192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    9   684 MASQUERADE  udp  --  any    any     192.168.122.0/24    !192.168.122.0/24     masq ports: 1024-65535
    0     0 MASQUERADE  all  --  any    any     192.168.122.0/24    !192.168.122.0/24   


Перечитал прилично инструкций, но видимо что-то делаю принципиально не так.

Подскажите плиз как это настроить.

dzhoser

Сделать одинаковую подсеть
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

SerW

Сергей Швайко » DragonSerW

dron

Цитата: dzhoser от 22 июля 2024, 19:58:37Сделать одинаковую подсеть

не знаю стоит ли так вообще делать, уже столько опытов поставил, чаще всего заканчивается или ошибками или доступ пропадает )

Как точно понять что iptables вообще реагирует на мои команды? может те правила что я пишу вообще и неиспользуются?

dzhoser

IP-адрес представляет собой не просто комбинацию чисел, которые последовательно присваиваются разным устройствам. Его можно разбить на две части: номер узла (устройства) и номер сети.
Возьмём, например, IPv4-адрес 192.168.1.12. Номером сети в нём будет 192.168.1, а номером узла — .12. Получается, что любое устройство, у которого IP-адрес начинается с 192.168.1, входит в состав одной сети. Если его IP-адрес начинается с 192.168.3, то это значит, что устройство входит в состав другой сети, подключиться к которой нельзя без настроенного роутера или маршрутизатора.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

dron

Цитата: dzhoser от 23 июля 2024, 07:17:03IP-адрес представляет собой не просто комбинацию чисел, которые последовательно присваиваются разным устройствам. Его можно разбить на две части: номер узла (устройства) и номер сети.
Возьмём, например, IPv4-адрес 192.168.1.12. Номером сети в нём будет 192.168.1, а номером узла — .12. Получается, что любое устройство, у которого IP-адрес начинается с 192.168.1, входит в состав одной сети. Если его IP-адрес начинается с 192.168.3, то это значит, что устройство входит в состав другой сети, подключиться к которой нельзя без настроенного роутера или маршрутизатора.


Но вроде бы у меня настроена эта самая сеть. И находясь в хосте нормально получается подключаться к VM по ssh и так же она пингуется и так же если в хосте запустить lynx (браузер в командной строке) то написав в нём адрес VM открывается страница nginx, который на этой виртуальной машине запущен.

Но написав в хосте адрес хоста с портом например: 192.168.0.141:6666 не происходит загрузки страницы nginx виртуальной машины. И если я правильно понимаю, то соответственно отсутствует проброска порта 6666 хоста на порт 80 ВМ.

Но пробросить этот порт никак не получается. То ли я не правильно пишу правила в iptables, то ли она вообще не используется хостом.

dzhoser

ip a показывайте с хоста и с виртуалки
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

dron

с хоста `ip a`

dron@debil:~$ ip a
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 noprefixroute
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:08:9b:b5:09:37 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.141/24 brd 192.168.0.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::208:9bff:feb5:937/64 scope link
       valid_lft forever preferred_lft forever
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:08:9b:b5:09:38 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.184/24 brd 192.168.0.255 scope global dynamic noprefixroute enp2s0
       valid_lft 7131sec preferred_lft 7131sec
    inet6 fe80::5ad:2b39:2a9a:11f1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:0a:cd:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global br0
       valid_lft forever preferred_lft forever
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ff:4f:fc:4e brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:ffff:fe4f:fc4e/64 scope link
       valid_lft forever preferred_lft forever
7: veth84c3e0e@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
    link/ether 42:1f:64:c5:4c:45 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::401f:64ff:fec5:4c45/64 scope link
       valid_lft forever preferred_lft forever


с с виртуалки  `ip a`......

не знаю что случилось, но больше виртуалка не запускается.

root@debil:~# virsh start deb_mail
error: Failed to start domain 'deb_mail'
error: Hook script execution failed: internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /etc/libvirt/hooks/qemu deb_mail prepare begin -) unexpected exit status 1



поэтому приношу свои извинения что создал тут шумиху.

Придётся сменить деятельность с портами на разбирания с виртуалкой.