1.) Boot command line (UML host)

./linux ubd0=ext3fs.img mem=768M systemd.unit=multi-user.target umid=fedora20 eth0=tuntap,,00:11:22:33:44:55,192.168.4.150

Change the MAC address to a static value so NetworkManager can assign an IP address automatically. The IP address given here will be the IP address of the tapX network device on the host of the UML OS. The MAC address will be the address of the virtual eth0 device inside the UML OS.

2.) Install uml_utilities (UML host)

Assign your user to the group „uml_net“.

3.) Configure the NetworkManager (UML OS)

3a.) Enable system connections (UML OS)

$ nano  /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile,ifcfg-rh
$ nano  /etc/NetworkManager/system-connections/Static-eth0
[connection]
id=Static-eth0
uuid=01020304-0506-0708-0910-111213141516
type=802-3-ethernet
timestamp=0
autoconnect=true

[802-3-ethernet]
duplex=full
mac-address=00:11:22:33:44:55

[ipv6]
method=ignore

[ipv4]
method=manual
dns=8.8.8.8;
addresses1=192.168.4.151;24;192.168.4.150;

4.) Enable NAT on your external network interface with firewalld (UML host)

$ firewall-cmd --zone=external --change-interface=wlan0

This will assign the network interface with internet access to the zone „external“ which has IP masquerading enabled.

5.) Add network device tapX to a firewalld zone (UML host)

$ firewall-cmd --zone=home --add-interface=tap0

6.) Unblock X server port 600x in the firewalld zone „home“ (UML host)

For X server on :1 unblock TCP port 6001

7.) Remote X server

UML OS:

$ export DISPLAY=192.168.4.150:1
$ xauth add 192.168.4.150:1 MIT-MAGIC-COOKIE-1 xxx
$ gnome-session --session=gnome-classic

Gnome doesn’t seem to work with either Xnest nor Xephyr as remote X server :-( You must use XFCE or any other supprted desktop environment in the UML OS.

Host OS:

($ xhost +inet:192.168.4.150 -> Needed?!)

$ echo $XAUTHORITY
/run/gdm/auth-for-user-XXyyXX/database
$ Xnest :1 -auth $XAUTHORITY
or
$ Xephyr :1 -auth $XAUTHORITY

$ xauth list

Fetch the xauth cookie and use it in the UML OS in the „xauth add“ command.