Не могу получить доступ /ssh к моим виртуальным машинам из Интернета (за пределами локальной сети)
У меня странная проблема, и я считаю, что это как-то связано с модемом / маршрутизатором. но я не могу положить палец на что-то.
Хост-машина подключена к модему / маршрутизатору через локальную сеть. 4 виртуальных машины в хосте с использованием qemu/virsh
Я установил мост на первом сетевом адаптере хоста (тот, который подключен к модему / маршрутизатору), и я использую этот мост в виртуальных машинах.
Я могу успешно получить IP от модема / маршрутизатора для виртуальных машин.
Я могу подключиться к виртуальной машине с моего ноутбука в локальной сети, подключенной через беспроводную сеть.
Вот IP-адреса, назначенные через DHCP:
- Модем / Маршрутизатор:
192.168.10.1
- Ноутбук:
192.168.10.20
- Хост:
192.168.10.101
- VM1:
192.168.10.102
- VM2:
192.168.10.103
Вот переадресация портов, которую я настроил на маршрутизаторе / модеме, чтобы я мог получить доступ к своему хосту и виртуальным машинам извне.
External Port : 64001, Internal Port : 22, IP : 192.168.10.101 (ssh forwarding for Host)
External Port : 64002, Internal Port : 22, IP : 192.168.10.102 (ssh forwarding for VM1)
External Port : 64003, Internal Port : 22, IP : 192.168.10.103 (ssh forwarding for VM2)
Я могу успешно подключиться к ssh на всех компьютерах, например, host, vm1, vm2 с моего ноутбука, когда он подключен к одному маршрутизатору / модему. используя порт 22 для подключения
Я могу успешно SSH в хосте извне. используя порт 64001
Но я не могу подключиться / ssh к виртуальным машинам извне. используя 64002, 64003
Так как я могу подключиться к виртуальным машинам с моего ноутбука (при подключении к той же локальной сети), я предполагаю, что правильно настроил мостовую сеть. Хост не блокирует мои запросы к виртуальным машинам.
Что может быть не так там.
PS Я попытался подключиться к хосту и виртуальным машинам с использованием общедоступного IP-адреса WAN с портами, когда он подключен к тому же маршрутизатору / модему, к которому подключен хост, и я могу подключиться к хосту, но и здесь не могу подключиться к виртуальным машинам.
Я также следовал за https://bugs.launchpad.net/ubuntu/+source/ufw/+bug/573461 и применил решение, чтобы исправить ошибку. Все еще проблема не решена
Я добавил следующие правила в iptables
sudo iptables -A FORWARD -p all -i br0 -j ACCEPT
sudo iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
Все еще не могу подключиться
Вот упрощенная версия tcpdump, использующая "tcpdump -i br0 -x >tcpdump.102.log
"
17:08:01.097275 IP host01.ssh > .47374: Flags [P.], seq 2974335894:2974336102, ack 3128654606, win 280, length 208
17:08:01.149120 IP .47374 > host01.ssh: Flags [.], ack 208, win 4136, length 0
17:08:02.083867 IP host01.60432 > _gateway.domain: 28525+ [1au] PTR? .in-addr.arpa. (57)
17:08:02.241925 IP _gateway.domain > host01.60432: 28525 NXDomain 0/1/1 (145)
17:08:02.242150 IP host01.60432 > _gateway.domain: 28525+ PTR? .in-addr.arpa. (46)
17:08:02.242694 IP _gateway.domain > host01.60432: 28525 NXDomain 0/0/0 (46)
17:08:02.243809 IP host01.35708 > _gateway.domain: 23749+ [1au] PTR? 101.10.168.192.in-addr.arpa. (56)
17:08:02.399458 IP _gateway.domain > host01.35708: 23749 NXDomain 0/1/1 (134)
17:08:02.399629 IP host01.35708 > _gateway.domain: 23749+ PTR? 101.10.168.192.in-addr.arpa. (45)
17:08:02.400273 IP _gateway.domain > host01.35708: 23749 NXDomain 0/0/0 (45)
17:08:03.107308 IP host01.54864 > _gateway.domain: 58281+ [1au] PTR? 1.10.168.192.in-addr.arpa. (54)
17:08:03.263611 IP _gateway.domain > host01.54864: 58281 NXDomain 0/1/1 (132)
17:08:03.263789 IP host01.54864 > _gateway.domain: 58281+ PTR? 1.10.168.192.in-addr.arpa. (43)
17:08:03.264478 IP _gateway.domain > host01.54864: 58281 NXDomain 0/0/0 (43)
17:08:05.480573 IP .45401 > lamp.grc.ssh: Flags [S], seq 4124347704, win 8192, options [mss 1412,nop,wscale 2,nop,nop,sackOK], length 0
17:08:06.179255 IP host01.58680 > _gateway.domain: 62377+ [1au] PTR? 102.10.168.192.in-addr.arpa. (56)
17:08:06.10.196 IP _gateway.domain > host01.58680: 62377* 1/0/1 PTR lamp.grc. (78)
17:08:08.480463 IP .45401 > lamp.grc.ssh: Flags [S], seq 4124347704, win 8192, options [mss 1412,nop,wscale 2,nop,nop,sackOK], length 0
17:08:13.586177 ARP, Request who-has 192.168.10.100 tell _gateway, length 46
17:08:14.371276 IP host01.43673 > _gateway.domain: 58354+ [1au] PTR? 100.10.168.192.in-addr.arpa. (56)
17:08:14.485151 IP .45401 > lamp.grc.ssh: Flags [S], seq 4124347704, win 8192, options [mss 1412,nop,nop,sackOK], length 0
17:08:14.527017 IP _gateway.domain > host01.43673: 58354 NXDomain 0/1/1 (134)
17:08:14.527363 IP host01.43673 > _gateway.domain: 58354+ PTR? 100.10.168.192.in-addr.arpa. (45)
17:08:14.527859 IP _gateway.domain > host01.43673: 58354 NXDomain 0/0/0 (45)
17:08:15.607321 IP _gateway.bootps > 192.168.10.100.bootpc: BOOTP/DHCP, Reply, length 548
17:08:15.607387 ARP, Request who-has 192.168.10.100 tell host01, length 28
17:08:16.610767 ARP, Request who-has 192.168.10.100 tell host01, length 28
17:08:17.634768 ARP, Request who-has 192.168.10.100 tell host01, length 28
17:08:10.658770 IP host01 > _gateway: ICMP host 192.168.10.100 unreachable, length 556
Таким образом, кажется, что мост получает запросы на соединение ssh. Почему виртуальные машины не отвечают на запросы извне, откуда я могу успешно подключиться к этим виртуальным машинам. Какие правила брандмауэра мне нужно проверить / установить? Может быть, они проблемы.