dnsmasq
Bu amaçla paketi kullanacağız , çünkü DHCP ve DNS sunucusu birleştirildi ve yapılandırılması da kolay.
Biraz daha ağır bir şey istiyorsanız, sırasıyla DHCP ve DNS için isc-dhcp-server
ve bind9
paketlerini kullanabilirsiniz
, ancak amaçlarımız için dnsmasq
gayet iyi çalışıyor.
sudo apt-get install dnsmasq
Arabirimleri yapılandırmamız gerekiyor. eth0
Ağ geçidi olarak kullanılacak statik bir IP adresi atayacağız
. Arabirimler dosyasını açın
sudo nano /etc/network/interfaces
eth0
Bu kısmı şöyle düzenle :
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
Ardından yapılandırırız dnsmasq
. Gönderilen dnsmasq
config dosyası, nasıl kullanılacağı hakkında birçok bilgi içerir. Bu yüzden onu hareket ettirmenizi ve yeni bir tane oluşturmanızı tavsiye edeceğim.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
Aşağıdakileri yeni dosyaya yapıştırın
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
/etc/sysctl.conf
Paket iletmeyi etkinleştirmek için dosyayı düzenleyin
sudo nano /etc/sysctl.conf
Bunu #
içeren satırın başından
kaldır net.ipv4.ip_forward=1
Bu, sonraki yeniden başlatmada paket iletmeyi etkinleştirir. Ama şimdi yeniden başlatmadan denemek istiyorsanız, o zaman bunu yapın.
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Ayrıca RPi'nin internet bağlantısını Wi-Fi üzerinden bağlı cihazlarla paylaşmamız gerekiyor. NAT ile eth0
ve
arasında bir yapılandırma yapacağız 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
Ancak, Pi'yi her yeniden başlattığımızda bu kuralların uygulanmasına ihtiyacımız var, bu yüzden sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
kuralları dosyaya kaydetmek için çalıştırın /etc/iptables.ipv4.nat
. Şimdi bunu her yeniden başlatmadan sonra çalıştırmamız gerekiyor, bu yüzden /etc/rc.local
dosyayı
açıp sudo nano /etc/rc.local
satırın hemen üstüne exit 0
aşağıdaki satırı ekleyin:
iptables-restore < /etc/iptables.ipv4.nat
Ve hepsi bu! Şimdi sadece RPI'nizi yeniden başlatın ve Internet'e erişebileceksiniz
sudo reboot
Yukarıdaki yapılandırma, Raspbian'ın daha yeni sürümünde çalışmaz. Böylece bunun için daha az acı çekecek bir senaryo hazırladım.
Dosyanın tam yolunu verdiğinizden emin olun. Ve bitti. Şimdi değişiklikleri görmek için yeniden başlatın