Skip to content
On this page

Linux networking

OrbStack uses a custom-built virtual network stack designed to be seamless. It implements all common networking features, including IPv6, ping, and traceroute, and follows your VPN and DNS settings. The network is optimized for speed, with up to 45 Gbps of throughput between macOS and Linux.

VPN compatibility

OrbStack's network stack is fully compatible with VPNs, including advanced DNS resolver settings. This means that you can use VPNs with OrbStack without any additional setup.

Running servers

Any servers that you run in Linux machines are accessible from Mac. For example, if you run a web server on port 8000 in Linux, you can access it from Mac on localhost:8000:

python3 -m http.server 8000

If your server listens on or ::, it will also be accessible from other devices on your network.

Connecting to servers on Mac

You can use the host.internal hostname to connect to a server running on Mac. For example, to connect to a MySQL server on Mac:

mysql -h host.internal -u root

Connecting to localhost

Out of caution, we only support connecting directly to localhost in Docker in order to avoid surprising behavior in machines. Feel free to open an issue if you want this to be supported in machines.

Connecting between machines

All Linux machines are connected to the same network bridge, so you can connect between machines using their IP addresses. Run ip addr to find the IP address of a machine:

2: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 46:51:ff:fb:a0:2f brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet metric 1024 brd scope global dynamic eth0 
       valid_lft 157852sec preferred_lft 157852sec
    inet6 fd00:30:31:0:4451:ffff:fefb:a02f/64 scope global mngtmpaddr noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::4451:ffff:fefb:a02f/64 scope link
       valid_lft forever preferred_lft forever

This machine has an IPv4 address of and an IPv6 address of fd00:30:31:0:4451:ffff:fefb:a02f on its primary network interface, eth0. Both addresses can be used to connect between machines.

Connectivity between machines is very fast, up to 115 Gbps on M1.

Connecting to Docker containers

If you've started Docker containers from Mac, you can also connect to their forwarded ports from Linux machines using docker.internal:

# On macOS
docker run -it --rm -p 80:80 nginx
# On Linux
curl docker.internal


OrbStack's custom network stack has been designed with an emphasis on reliability. Care has been taken to ensure that it remains stable in many cases, including opening and closing connections rapidly and concurrently, half-open TCP connections, and more.


All Docker containers and Linux machines will automatically follow your macOS proxy settings. This is done transparently, removing the need to set HTTP_PROXY or HTTPS_PROXY manually.

HTTP, HTTPS, and SOCKS proxies are supported. If a SOCKS proxy is configured, it will be used for all traffic. Otherwise, HTTP and HTTPS proxies will be used for HTTP and HTTPS traffic, respectively.

You can also configure OrbStack to use a different proxy from the rest of your system, e.g. for security testing:

orb config set network_proxy
# HTTPS with password on port 8443
orb config set network_proxy
# SOCKS with password on port 1081
orb config set network_proxy socks5://

Proxy exclusions configured in macOS settings will also be respected.