dnsmasqDHCP와 DNS 서버가 결합되어 있고 구성하기 쉬우므로이 용도로 패키지를 사용 합니다.
좀 더 '무거운'것을 원한다면 DHCP와 DNS에 각각 isc-dhcp-server및 bind9패키지를 사용할 수
있지만, 우리의 목적 상 dnsmasq잘 작동합니다.
sudo apt-get install dnsmasq
인터페이스를 구성해야합니다. eth0게이트웨이로 사용될 고정 IP 주소를 할당
합니다. 인터페이스 파일을여십시오
sudo nano /etc/network/interfaces
다음 eth0과 같이 섹션을 편집하십시오 .
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
다음으로을 구성합니다 dnsmasq. 제공된 dnsmasq구성 파일에는 사용 방법에 대한 많은 정보가 포함되어 있습니다. 그래서 나는 그것을 옮기고 새로운 것을 만들 것을 권합니다.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf
다음을 새 파일에 붙여 넣기
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패킷 전달을 사용 하도록 파일을 편집하십시오.
sudo nano /etc/sysctl.conf
다음에 재부트 할 때 패킷 전달을 사용 가능하게 #하는 행의 시작 부분에서를
제거하십시오 net.ipv4.ip_forward=1. 그러나 재부팅하지 않고 지금 시도하려면이 작업을 수행하십시오.
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
또한 Wi-Fi를 통해 연결된 장치와 RPi의 인터넷 연결을 공유해야합니다. eth0와
사이에 NAT를 구성합니다 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
그러나 Pi를 재부팅 할 때마다이 규칙을 적용해야하므로 sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
규칙을 파일에 저장하십시오 /etc/iptables.ipv4.nat. 이제 다시 부팅 할 때마다이 작업을 실행해야합니다. 따라서 줄 바로 위와 /etc/rc.local파일을
열고 다음 줄을 추가하십시오.sudo nano /etc/rc.localexit 0
iptables-restore < /etc/iptables.ipv4.nat
그리고 그게 다야! 이제 RPi를 재부팅하면 인터넷에 액세스 할 수 있습니다
sudo reboot
최신 버전의 Raspbian에서는 위 구성이 작동하지 않습니다. 그래서 나는 고통을 덜게하는 스크립트를 만들었습니다.
파일의 전체 경로를 제공했는지 확인하십시오. 그리고 당신은 끝났습니다. 이제 재부팅하여 변경 사항을 확인하십시오.