Я хочу подключить консоль SSH к серверу Ubuntu (гостевая ОС) внутри VirtualBox в Mac OS X 10.10 (Yosemite) (хост-ОС).
Я создал сеть только для хоста, поэтому я могу подключаться с хост-ОС (Mac OS X 10.10 (Yosemite)) к гостевой ОС (Ubuntu).
Но я не могу подключиться к Ubuntu из-за пределов Macintosh.
(Предположим, 50.50.50.50
- публичный IP- адрес Mac OS X, 192.168.59.10
- частный IP-адрес Ubuntu.) На самом деле мне нужна пересылка IP. Например, при подключении 50.50.50.50:222
через en0
(lo0
) я хочу перенаправить 192.168.59.10:222
через vboxnet0
.
Итак, я попробовал переадресацию портов в Mac OS X 10.10 (Yosemite), вот список ссылок:
https://gist.github.com/carlossless/dcc6c02a92b49bde0f13
https://gist.github.com/zhoutong/8adca7038639f0f5fb0e
http://abetobing.com/blog/port-forwarding-mac-os-yosemite-81.html
http://kfigiela.github.io/2014/11/07/using-native-os-x-nat-with-virutalbox/
Вот мои шаги:
Включение переадресации портов:
sudo sysctl -w net.inet.ip.forwarding=1 sudo sysctl -w net.inet6.ip6.forwarding=1
Создайте файл правил пересылки (номер порта Ubuntu
/etc/ssh/sshd_config
- 222):sudo vi /etc/pf.anchors/com.forwarding rdr pass on lo0 inet proto tcp from any to any port 222 -> 192.168.59.10 port 222
Проверьте правила:
sudo pfctl -vnf /etc/pf.anchors/com.forwarding
Добавьте строки в
/etc/pf.conf
:rdr-anchor "com.forwarding" load anchor "com.forwarding" from "/etc/pf.anchors/com.forwarding"
Применить правила:
sudo pfctl -f /etc/pf.anchors/com.forwarding sudo pfctl -f /etc/pf.conf sudo pfctl -e
Добавьте включение статуса по умолчанию pfctl:
sudo vi /System/Library/LaunchDaemons/com.apple.pfctl.plist <string>-e</string>
Пожалуйста, скажите мне, что было не так, или почему это невозможно.