Если вы в состоянии ssh
в удаленный хост, чем нужно проверить брандмауэр на хосте, если ssh
порты (22) перенаправляются на vm.
Есть похожий вопрос Вот ,
Там это брандмауэр UFW, который должен иметь правило, как
ufw route allow 2222/tcp to 192.168.130.128 port 22
разрешить подключение к хосту через порт 2222 и пересылать tcp гостевой виртуальной машине по IP 192.168.130.128:22
А также этот пользователь упомянул, что ufw
это фронтенд iptables
так что зайдите на ваш сайт или отредактируйте iptables в этом роде.
iptables -t nat -A PREROUTING -m tcp -p tcp --dport 2222 -j DNAT --to-destination 192.168.130.128:22
Недостающая часть
Укороченная версия
Вы сказали iptables
добавить PREROUTING
править вашим nat table
,
Недостающая часть:
#---------------------------------------------------------------
# After DNAT, the packets are routed via the filter table's
# FORWARD chain.
# Connections on port 22 to the target machine on the private
# network must be allowed.
#---------------------------------------------------------------
# The `\` masks the `linebreak` in the `bash command`
# You can `copy & paste` all the lines at once
# From the manual
# Changing to specific IP and Interfaces
# being:
# `eth0` your host adapter and
# `vmnet8` your guest adapter
Это соединение с целевой машиной:
iptables -A FORWARD -p tcp -i eth0 -o vmnet8 -d 192.168.130.128 \
--dport 22 --sport 2222 -m state --state NEW -j ACCEPT
И это фильтр от host interface
на ваш guest interface
и наоборот.
iptables -A FORWARD -t filter -o eth0 -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i vmnet8 -m state \
--state ESTABLISHED,RELATED -j ACCEPT