A connection between the hosts moon and sun is set up. The authentication is based on X.509 certificates and the kernel-libipsec plugin is used for userland IPsec ESP encryption. Firewall marks are used to make the direct ESP connection possible and still allow IKE traffic to flow freely between the two hosts.
Upon the successful establishment of the IPsec tunnel, an updown script automatically inserts iptables-based firewall rules that let pass the traffic tunneled via the ipsec0 tun interface. In order to test both host-to-host tunnel and firewall, moon pings sun.