Kami akan menggunakan dnsmasq
paket untuk tujuan ini karena ia menggabungkan DHCP dan server DNS dan juga mudah dikonfigurasi.
Jika Anda menginginkan sesuatu yang lebih 'berat', Anda dapat menggunakan
paket isc-dhcp-server
dan bind9
untuk DHCP dan DNS masing-masing, tetapi untuk tujuan kami, dnsmasq
berfungsi dengan baik.
sudo apt-get install dnsmasq
Kita perlu mengkonfigurasi antarmuka. Kami akan menetapkan alamat IP statis
eth0
yang akan digunakan sebagai gateway. Buka file antarmuka
sudo nano /etc/network/interfaces
Edit eth0
bagian seperti ini:
allow-hotplug eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
Selanjutnya, kita akan mengkonfigurasi dnsmasq
. dnsmasq
File konfigurasi yang dikirim berisi banyak informasi tentang cara menggunakannya. Jadi, saya akan menyarankan untuk memindahkannya dan membuat yang baru.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
Rekatkan yang berikut ke dalam file baru
interface=eth0 # Use interface eth0
listen-address=192.168.2.1 # listen on
# Bind to the interface to make sure we aren't sending things
# elsewhere
bind-interfaces
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
# Never forward addresses in the non-routed address spaces.
bogus-priv
# Assign IP addresses between 192.168.2.2 and 192.168.2.100 with a
# 12 hour lease time
dhcp-range=192.168.2.2,192.168.2.100,12h
Edit /etc/sysctl.conf
file untuk mengaktifkan penerusan paket
sudo nano /etc/sysctl.conf
Hapus #
dari awal baris yang berisi
net.ipv4.ip_forward=1
ini akan memungkinkan penerusan paket pada reboot berikutnya. Tetapi jika Anda ingin mencobanya sekarang tanpa reboot maka lakukan ini.
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Kita juga perlu berbagi koneksi internet RPi dengan perangkat yang terhubung melalui Wi-Fi. Kami akan mengonfigurasi NAT antara eth0
dan
wlan0
:
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
Namun, kita membutuhkan aturan ini untuk diterapkan setiap kali kita me-reboot Pi, jadi jalankan sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
untuk menyimpan aturan ke file /etc/iptables.ipv4.nat
. Sekarang kita perlu menjalankan ini setelah setiap reboot, jadi buka /etc/rc.local
file dengan
sudo nano /etc/rc.local
dan tepat di atas baris exit 0
, tambahkan baris berikut:
iptables-restore < /etc/iptables.ipv4.nat
Dan itu saja! Sekarang cukup Reboot RPi Anda dan Anda akan dapat mengakses Internet
sudo reboot
Konfigurasi di atas tidak akan berfungsi di versi Raspbian yang lebih baru. Jadi, saya telah membuat skrip untuk hal ini yang memungkinkannya untuk mengurangi rasa sakit.
Pastikan Anda telah memberikan path lengkap ke file. Dan kamu sudah selesai. Sekarang reboot untuk melihat perubahannya