Skip to content

MacOS(X)

Balazs Bucsay edited this page Dec 22, 2019 · 7 revisions

Intro

MacOS X 10.7 and higher versions natively support utun devices. There is no need for custom tun/tap drivers to be installed for the system. Although there are some lines in to code that were commented out, but it was tested and worked for the older custom driver. From now on if Apple does not changes this the MacOS will support the utun interfaces natively.

Installation

In case you have already installed Python 3 (or 2.7 for branch python2.7) and pip and of course cloned the appropriate branch to your computer, then it is kind of easy to set up the tool. There are a few more steps, but do not worry at all.

Install the requirements with pip:
# pip install -r misc/requirements_mac.txt

Setup

Server side

Enable IP forwarding as root by using:
# sysctl -w net.inet.ip.forwarding=1

Put the following line into the /etc/pf.conf after the 'nat-anchor "com.apple/*"' line (do not forget to change your XFLTReaT server's IP address and netmask from the config in case you have modified the original settings):
nat on en0 from 10.9.0.1/24 to any -> (en0)
Then load the config file with pfctl:
# pfctl -f /etc/pf.conf -e -v

After you have done the configuration below as well, you need to start the framework as root in server mode as follows:
# python xfltreat.py

Client side

In client mode, there is not much to configure on the operating system, but the configuration file (xfltreat.conf) should match the configuration of the server side (module ports, authentication/encryption key etc.). After you have done the configuration below as well, you need to start the framework as root in client mode as follows:
# python xfltreat.py --client

Configuration

To configure the transport, encryption and authentication modules read the Configuration article.

XFLTReaT wiki pages

Clone this wiki locally