Я использую виртуальную машину xhyve (с докером), используя мостовую сеть:
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether a2:99:9b:01:6d:64
inet 192.168.64.1 netmask 0xffffff00 broadcast 192.168.64.255
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en5 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 12 priority 0 path cost 0
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
Я хочу перенаправить порт 8000 на моем Mac на IP-адрес виртуальной машины, порт 8000. Я использую pfctl:
[~]$ echo "
rdr pass inet proto tcp from any to any port 8000 -> 192.168.64.9 port 8000
" | sudo pfctl -ef -
Password:
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.
No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf already enabled
Теперь, telnet к localhost 8000 говорит "отказано в соединении":
[~]$ telnet localhost 8000
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Network is unreachable
telnet: Unable to connect to remote host
Но, telnet к "192.168.64.9" работает:
[~]$ telnet 192.168.64.9 8000
Trying 192.168.64.9...
Connected to ebdev.io.
Escape character is '^]'.
Как я могу переадресовать порт 8000 в этом случае?