Raspberry Pi를 Gateway로 사용하기 위한 준비
Raspberry Pi의 Wi-Fi 인터넷을 이더넷으로 공유하기
이 단계에서 Raspberry Pi는 Wi-Fi를 통해 인터넷에 연결되어 있어야 하며, PLC는 이더넷 연결을 통해 Raspberry Pi에 연결되어 있어야 합니다.
이제 Wi-Fi 인터넷 연결을 이더넷으로 공유하도록 Raspberry Pi를 구성합니다. Raspberry Pi에서 다음 명령을 실행하십시오.
1. (선택 사항) Raspberry Pi를 업데이트합니다:
sudo apt-get update
sudo apt-get upgrade
2. DHCP 클라이언트를 구성하려면 구성 파일을 엽니다
sudo vi /etc/dhcpcd.conf
그리고 파일 끝에 denyinterfaces eth0을 붙여넣습니다. 구성 파일을 닫습니다 (Esc, :w (Enter), :q (Enter)).
3. 다음으로 네트워크 인터페이스 파일을 엽니다
sudo vi /etc/network/interfaces
그리고 파일 끝에 다음 줄을 붙여넣습니다:
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.66.1
netmask 255.255.255.0
network 192.168.66.0
broadcast 192.168.66.255
네트워크 인터페이스 파일을 닫습니다 (Esc, :w (Enter), :q (Enter)).
4. 이더넷 포트에 연결된 모든 장치에 IP 주소를 자동으로 할당하도록 DHCP 서비스를 설치하고 구성합니다. dnsmasq를 설치하고 새 구성을 생성합니다:
sudo apt-get install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf
파일에 다음 줄을 추가하고
interface=eth0
listen-address=192.168.66.1
dhcp-range=192.168.66.50,192.168.66.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv
구성 파일을 닫습니다 (Esc, :w (Enter), :q (Enter)).
5. Raspberry Pi를 재부팅합니다.
sudo reboot
이후에 SSH 연결을 다시 열어야 합니다.
6. 이제 IPv4 포워딩을 설정하여 Wi-Fi의 인터넷 연결을 PLC가 연결된 이더넷 포트로 전달합니다. /etc/systcl.conf file:을 엽니다
sudo vi /etc/sysctl.conf
#을 제거하여 다음 줄(28번째 줄)의 주석을 해제합니다:
net.ipv4.ip_forward=1
파일을 저장하고 닫습니다 (Esc, :w (Enter), :q (Enter)).
7. 다음 명령을 실행하여 IP 포워딩을 활성화합니다:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
8. 이제 iptables를 설치하고 방화벽 규칙을 추가합니다. 다음 명령을 하나씩 실행하십시오:
sudo apt install iptables
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
9. 변경 사항이 적용되었는지 확인하고 규칙을 저장합니다:
sudo iptables -L -n -v
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
재부팅할 때마다 이 규칙을 자동으로 다시 불러오려면 /etc/rc.local 파일을 편집합니다:
sudo vi /etc/rc.local
exit 0 앞에 다음 줄을 붙여넣습니다:
iptables-restore < /etc/iptables.ipv4.nat
파일을 저장하고 닫습니다 (Esc, :w (Enter), :q (Enter)).
10. 방화벽 설정을 확인하려면 다음을 실행합니다
route
라우팅 테이블은 다음과 같이 표시되어야 합니다:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 304 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 304
이제 SDA 콘솔에서 Gateway 연결이 설정되었는지, 그리고 PLC가 연결되어 있는지 확인할 수 있습니다.