Topologi

Interface
FreeBSD1
em0 -> Internet
em1 -> e0 PC1
gre0 -> gre0 FreeBSD2
FreeBSD2
em0 -> Internet
em1 -> e0 PC2
gre0 -> gre0 FreeBSD1
Konfigurasi FreeBSD1
IPv4 Forwarding
sysctl net.inet.ip.forwarding=1
echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf
IP Address
sysrc ifconfig_em0="inet 192.168.122.4 255.255.255.0"
sysrc ifconfig_em1="inet 10.10.10.1 255.255.255.0"
Konfigurasi FreeBSD2
IPv4 Forwarding
sysctl net.inet.ip.forwarding=1
echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf
IP Address
sysrc ifconfig_em0="inet 192.168.122.5 255.255.255.0"
sysrc ifconfig_em1="inet 10.10.20.1 255.255.255.0"
Konfigurasi PC1
ip 10.10.10.2/24 10.10.10.1
Konfigurasi PC2
ip 10.10.20.2/24 10.10.20.1
Konfigurasi GRE Tunnel
Penjelasan IP:
172.16.1.1 -> IP Tunnel FreeBSD1
172.16.1.2 -> IP Tunnel FreeBSD2
192.168.122.4 -> IP yang terhubung ke internet (ibarat IP Public) milik FreeBSD1
192.168.122.5 -> IP yang terhubung ke internet(ibarat IP Public) milik FreeBSD2
FreeBSD1
ifconfig gre0 create
ifconfig gre0 172.16.1.1 172.16.1.2 netmask 255.255.255.252
ifconfig gre0 tunnel 192.168.122.4 192.168.122.5
FreeBSD2
ifconfig gre0 create
ifconfig gre0 172.16.1.2 172.16.1.1 netmask 255.255.255.252
ifconfig gre0 tunnel 192.168.122.5 192.168.122.4
Static Routing
Static Routing untuk menghubungkan internal network
Penjelasan IP:
172.16.1.1 -> IP Tunnel FreeBSD1
172.16.1.2 -> IP Tunnel FreeBSD2
10.10.10.0/24 -> Network Internal FreeBSD1
10.10.20.0/24 -> Network Internal FreeBSD2
FreeBSD1
route add 10.10.20.0/24 172.16.1.2
FreeBSD2
route add 10.10.10.0/24 172.16.1.1
Test Ping dari PC1 ke PC2 dan sebaliknya


Memasukkan Konfigurasi Tunnel di /etc/rc.conf
FreeBSD1
cloned_interfaces="gre0"
ifconfig_gre0="inet 172.16.1.1 172.16.1.2 netmask 255.255.255.252
tunnel 192.168.122.4 192.168.122.5"
static_routes="tunnel"
route_tunnel="10.10.20.1/24 172.16.1.2"
FreeBSD2
cloned_interfaces="gre0"
ifconfig_gre0="inet 172.16.1.2 172.16.1.1 netmask 255.255.255.252
tunnel 192.168.122.5 192.168.122.4"
static_routes="tunnel"
route_tunnel="10.10.10.1/24 172.16.1.1"
Referensi:
- https://mikepultz.com/2010/05/simple-freebsd-tunnels/
- https://www.freebsd.org/cgi/man.cgi?query=gre&sektion=4