Dokumentasi ini menjelaskan cara menghubungkan Raspberry Pi ke perangkat yang berada pada segmen LAN di belakang MikroTik.
Pada topologi ini:
- Raspberry Pi bertindak sebagai gateway internet.
- Raspberry Pi menerima internet melalui Wi-Fi.
- Raspberry Pi membagikan internet melalui
eth0. - MikroTik menerima koneksi dari Raspberry Pi melalui interface uplink.
- MikroTik mendistribusikan internet ke jaringan LAN.
- Perangkat LAN berada pada subnet yang berbeda dari subnet Raspberry Pi–MikroTik.
Masalah awalnya adalah perangkat LAN dapat menggunakan internet melalui MikroTik dan Raspberry Pi, tetapi Raspberry Pi belum dapat mengakses perangkat LAN karena belum memiliki static route menuju jaringan LAN MikroTik.
Internet / Access Point
│
│ Wi-Fi
▼
Raspberry Pi
wlan0: 192.168.1.79/24
eth0 : 10.10.10.10/24
│
│ Ethernet
▼
MikroTik
Uplink ke Raspberry Pi: 10.10.10.11/24
Gateway uplink : 10.10.10.10
│
▼
LAN MikroTik
Network: 10.11.12.0/24
│
├── Perangkat 10.11.12.11
├── Perangkat 10.11.12.x
└── Perangkat LAN lainnya
| Perangkat atau Interface | Alamat IP | Fungsi |
|---|---|---|
Raspberry Pi wlan0 |
192.168.1.79/24 |
Menerima internet dari Wi-Fi |
Raspberry Pi eth0 |
10.10.10.10/24 |
Gateway untuk MikroTik |
| MikroTik sisi Raspberry Pi | 10.10.10.11/24 |
Uplink statis menuju Raspberry Pi |
| Gateway MikroTik | 10.10.10.10 |
Default gateway menuju Raspberry Pi |
| LAN MikroTik | 10.11.12.0/24 |
Jaringan perangkat LAN |
| Contoh perangkat LAN | 10.11.12.11 |
Perangkat yang diuji |
Raspberry Pi memiliki interface berikut:
ip -brief addressContoh hasil:
lo UNKNOWN 127.0.0.1/8
eth0 UP 10.10.10.10/24
wlan0 UP 192.168.1.79/24
tailscale0 UNKNOWN 100.68.196.86/32
br-380dd7107cc0 UP 172.18.0.1/16
docker0 DOWN 172.17.0.1/16
Rute awal Raspberry Pi:
ip -4 routeContoh:
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.79 metric 600
10.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.10 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-380dd7107cc0 proto kernel scope link src 172.18.0.1
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.79 metric 600
Belum terdapat rute menuju:
10.11.12.0/24
Akibatnya, Raspberry Pi tidak mengetahui bahwa jaringan 10.11.12.0/24 harus dicapai melalui MikroTik 10.10.10.11.
Saat Raspberry Pi mencoba melakukan ping ke perangkat LAN:
ping 10.11.12.11Hasil awal:
PING 10.11.12.11 (10.11.12.11) 56(84) bytes of data.
--- 10.11.12.11 ping statistics ---
13 packets transmitted, 0 received, 100% packet loss
Pada kasus route yang salah, dapat muncul pesan:
From 10.10.10.10 Destination Host Unreachable
Pesan tersebut menunjukkan bahwa Raspberry Pi belum memiliki jalur yang benar menuju perangkat tujuan.
Raspberry Pi hanya mengenal jaringan yang terhubung langsung:
10.10.10.0/24
192.168.1.0/24
Sementara itu, perangkat LAN berada pada:
10.11.12.0/24
Karena kedua jaringan berbeda subnet, Raspberry Pi memerlukan static route berikut:
10.11.12.0/24 melalui 10.10.10.11
10.10.10.11 merupakan alamat MikroTik pada interface yang terhubung ke Raspberry Pi.
Jangan menggunakan
10.10.10.10sebagai next hop karena alamat tersebut merupakan IP Raspberry Pi sendiri.
Sebelumnya, MikroTik menerima alamat IP melalui DHCP client. Kondisi tersebut berpotensi membuat alamat MikroTik berubah.
IP MikroTik kemudian dibuat statis:
10.10.10.11/24
Default gateway MikroTik tetap mengarah ke Raspberry Pi:
10.10.10.10
Sesuaikan nama interface dengan interface yang terhubung ke Raspberry Pi.
/ip address add \
address=10.10.10.11/24 \
interface=ether2-Raspberry \
comment="Static uplink to Raspberry Pi"
Tambahkan default route:
/ip route add \
dst-address=0.0.0.0/0 \
gateway=10.10.10.10 \
distance=1 \
comment="Default route via Raspberry Pi"
Atur DNS jika diperlukan:
/ip dns set \
servers=1.1.1.1,8.8.8.8 \
allow-remote-requests=yes
Setelah IP statis, default route, dan DNS tersedia, DHCP client pada interface uplink dapat dinonaktifkan:
/ip dhcp-client disable [find interface="ether2-Raspberry"]
Sebaiknya nonaktifkan terlebih dahulu, bukan langsung menghapusnya, agar konfigurasi mudah dipulihkan.
/ip address print
/ip route print where dst-address=0.0.0.0/0
/ping 10.10.10.10 count=4
/ping 8.8.8.8 count=4
/ping google.com count=4
Untuk menguji jalur sebelum membuatnya permanen:
sudo ip route replace 10.11.12.0/24 via 10.10.10.11 dev eth0Periksa tabel routing:
ip -4 routeHasil yang diharapkan:
10.11.12.0/24 via 10.10.10.11 dev eth0
Periksa jalur menuju perangkat tertentu:
ip route get 10.11.12.11Hasil yang benar:
10.11.12.11 via 10.10.10.11 dev eth0 src 10.10.10.10
Uji koneksi:
ping 10.11.12.11Hasil setelah route ditambahkan:
64 bytes from 10.11.12.11: icmp_seq=1 ttl=254 time=114 ms
64 bytes from 10.11.12.11: icmp_seq=2 ttl=254 time=30.5 ms
--- 10.11.12.11 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss
Nilai ttl=254 menunjukkan paket melewati satu perangkat router, yaitu MikroTik.
Route yang dibuat dengan
ip route replacehanya aktif sementara. Route akan hilang setelah reboot atau ketika koneksi diaktifkan ulang.
nmcli -g GENERAL.CONNECTION device show eth0Hasil:
LAN-Internet
nmcli -f ipv4.routes connection show "LAN-Internet"Sebelum konfigurasi permanen, hasilnya:
ipv4.routes: --
sudo nmcli connection modify "LAN-Internet" \
ipv4.routes "10.11.12.0/24 10.10.10.11"Periksa kembali:
nmcli -f ipv4.routes connection show "LAN-Internet"Hasil yang diharapkan:
ipv4.routes: { ip = 10.11.12.0/24, nh = 10.10.10.11 }
sudo nmcli device reapply eth0Hasil:
Connection successfully reapplied to device 'eth0'.
ip -4 routeHasil final:
default via 192.168.1.1 dev wlan0 proto dhcp src 192.168.1.79 metric 600
10.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.10 metric 100
10.11.12.0/24 via 10.10.10.11 dev eth0 proto static metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-380dd7107cc0 proto kernel scope link src 172.18.0.1
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.79 metric 600
Bagian terpenting:
10.11.12.0/24 via 10.10.10.11 dev eth0 proto static metric 100
Keterangan proto static menunjukkan bahwa NetworkManager telah menerapkan route statis dari profil koneksi.
Reboot Raspberry Pi:
sudo rebootSetelah aktif kembali, jalankan:
ip -4 routePastikan route berikut muncul otomatis:
10.11.12.0/24 via 10.10.10.11 dev eth0 proto static metric 100
Periksa keputusan routing:
ip route get 10.11.12.11Hasil yang diharapkan:
10.11.12.11 via 10.10.10.11 dev eth0 src 10.10.10.10
Uji koneksi:
ping -c 4 10.10.10.11Kemudian:
ping -c 4 10.11.12.11Jika koneksi kembali bermasalah, lakukan pengujian bertahap.
ip -brief addressPastikan:
eth0 UP 10.10.10.10/24
ping -c 4 10.10.10.11Jika gagal, periksa:
- Kabel Ethernet.
- Status interface MikroTik.
- IP
eth0Raspberry Pi. - IP uplink MikroTik.
- Firewall pada jalur Raspberry Pi–MikroTik.
ip route get 10.11.12.11Route harus menggunakan:
via 10.10.10.11 dev eth0
Gunakan IP interface MikroTik pada subnet 10.11.12.0/24, misalnya:
ping -c 4 10.11.12.1Jika 10.10.10.11 berhasil tetapi 10.11.12.1 gagal, periksa firewall MikroTik.
ping -c 4 10.11.12.11Jika interface MikroTik dapat diping tetapi perangkat LAN tidak, periksa:
- Apakah perangkat aktif.
- Apakah perangkat memperoleh IP yang benar.
- Apakah gateway perangkat mengarah ke MikroTik.
- Apakah perangkat mendukung respons ICMP.
- Apakah terdapat client isolation atau AP isolation.
- Apakah firewall MikroTik memblokir trafik antar-interface.
Paket dari Raspberry Pi menuju perangkat LAN melewati MikroTik. Oleh karena itu, aturan yang relevan biasanya berada pada chain forward.
Periksa aturan firewall:
/ip firewall filter print
Cari aturan drop yang berlaku sebelum aturan accept.
Untuk pengujian, trafik dari subnet Raspberry Pi menuju LAN dapat diizinkan menggunakan aturan berikut:
/ip firewall filter add \
chain=forward \
src-address=10.10.10.0/24 \
dst-address=10.11.12.0/24 \
action=accept \
comment="Allow Raspberry Pi network to LAN"
Izinkan trafik balasan:
/ip firewall filter add \
chain=forward \
src-address=10.11.12.0/24 \
dst-address=10.10.10.0/24 \
connection-state=established,related \
action=accept \
comment="Allow established LAN replies to Raspberry Pi"
Posisi aturan penting. Pastikan aturan accept berada sebelum aturan drop yang relevan.
Tampilkan aturan beserta nomor:
/ip firewall filter print
Pindahkan aturan jika diperlukan:
/ip firewall filter move [find comment="Allow Raspberry Pi network to LAN"] 0
Sesuaikan posisi dengan struktur firewall yang digunakan.
Raspberry Pi memiliki jaringan Docker:
172.17.0.0/16
172.18.0.0/16
Jaringan tersebut tidak bertabrakan dengan:
10.10.10.0/24
10.11.12.0/24
Karena itu, Docker bukan penyebab kegagalan routing pada kasus ini.
Periksa subnet Docker dengan:
docker network inspect $(docker network ls -q) \
--format '{{.Name}}: {{range .IPAM.Config}}{{.Subnet}} {{end}}'Pastikan tidak ada jaringan Docker yang menggunakan subnet berikut:
10.10.10.0/24
10.11.12.0/24
Konfigurasi yang salah:
sudo ip route add 10.11.12.0/24 via 10.10.10.10 dev eth0Masalahnya, 10.10.10.10 adalah IP Raspberry Pi sendiri.
Konfigurasi yang benar:
sudo ip route replace 10.11.12.0/24 via 10.10.10.11 dev eth0Sebelumnya, MikroTik menggunakan IP dinamis, misalnya:
10.10.10.254
Route yang menggunakan alamat dinamis berpotensi rusak ketika DHCP memberikan IP baru.
Solusinya:
- Tetapkan IP MikroTik menjadi
10.10.10.11/24. - Tetapkan gateway MikroTik menjadi
10.10.10.10. - Simpan route permanen Raspberry Pi melalui NetworkManager.
Perintah:
sudo ip route replace 10.11.12.0/24 via 10.10.10.11 dev eth0berhasil mengaktifkan route, tetapi tidak menyimpannya secara permanen.
Solusi permanen:
sudo nmcli connection modify "LAN-Internet" \
ipv4.routes "10.11.12.0/24 10.10.10.11"sudo ip route del 10.11.12.0/24sudo nmcli connection modify "LAN-Internet" ipv4.routes ""Terapkan:
sudo nmcli device reapply eth0Misalnya gateway MikroTik berubah menjadi 10.10.10.12:
sudo nmcli connection modify "LAN-Internet" \
ipv4.routes "10.11.12.0/24 10.10.10.12"Kemudian:
sudo nmcli device reapply eth0ip -brief addressip -4 routeip route get 10.11.12.11nmcli -g GENERAL.CONNECTION device show eth0nmcli -f ipv4.routes connection show "LAN-Internet"ip neigh show dev eth0ping -c 4 10.10.10.11ping -c 4 10.11.12.11wlan0 : 192.168.1.79/24
eth0 : 10.10.10.10/24
Profil NetworkManager : LAN-Internet
Route permanen : 10.11.12.0/24 via 10.10.10.11
IP uplink : 10.10.10.11/24
Gateway : 10.10.10.10
Jaringan LAN : 10.11.12.0/24
10.11.12.0/24 via 10.10.10.11 dev eth0 proto static metric 100
Masalah terjadi karena Raspberry Pi tidak memiliki route menuju jaringan LAN MikroTik.
Solusinya terdiri atas tiga langkah utama:
- Membuat IP uplink MikroTik tetap, yaitu
10.10.10.11/24. - Menetapkan Raspberry Pi
10.10.10.10sebagai gateway MikroTik. - Menambahkan route permanen pada Raspberry Pi:
sudo nmcli connection modify "LAN-Internet" \
ipv4.routes "10.11.12.0/24 10.10.10.11"
sudo nmcli device reapply eth0Setelah konfigurasi tersebut diterapkan, Raspberry Pi dapat mengakses perangkat pada jaringan 10.11.12.0/24 melalui MikroTik.
- Raspberry Pi menerima internet melalui Wi-Fi.
- Raspberry Pi menggunakan
10.10.10.10/24padaeth0. - MikroTik menggunakan IP statis
10.10.10.11/24. - Gateway MikroTik mengarah ke
10.10.10.10. - LAN MikroTik menggunakan
10.11.12.0/24. - Raspberry Pi memiliki route permanen menuju
10.11.12.0/24. - Route tersimpan pada profil
LAN-Internet. - Raspberry Pi berhasil melakukan ping ke
10.11.12.11. - Subnet Docker tidak bertabrakan dengan jaringan utama.