TL; DR : 스크립트 또는 cron 작업을 찾고 있는데, 정기적으로 리눅스 호스트 (라즈베리 파이의 fedora)에서 실행되어 포트 전달 규칙이 라우터에 여전히 있는지 확인하고 그렇지 않은 경우 추가합니다. . 목표는 홈 네트워크 외부의 인터넷에있는 모든 컴퓨터에서 SSH, VNC 및 전송 웹 인터페이스를 통해 항상 라즈베리 파이 리눅스 호스트에 액세스하는 것입니다. 설정은 다음과 같습니다.
라우터 :
Beetel 440Tx1 ADSL2 라우터 + 모뎀 + 와이파이.
설정 :
라우터는 인터넷 (ISP 광대역)에 연결되며 동적 외부 IP가 있습니다. 내부 IP 192.168.xy가 DHCP 역할을하는 내 컴퓨터에 개인 홈 네트워크를 제공합니다.
주최자 :
부팅시 ssh, vnc, 전송 데몬 서버로 항상 실행되는 Fedora Linux가 포함 된 라즈베리 파이 ARM 호스트. 또한 no-ip.com dyndns free DUC (동적 업데이트 클라이언트)가있어 정기적으로 외부 IP를 확인하고 호스트 문자열에 바인딩합니다. 따라서 myrouter.no-ip.org와 같은 dyndns 문자열을 확인하여 라우터의 외부 IP를 항상 찾을 수 있습니다 . pi에는 192.168.1.z와 같은 정적 내부 IP가 있습니다.
포트 포워딩 :
이더넷 케이블 또는 비밀번호로 보호 된 Wi-Fi를 통해 해당 네트워크에 연결된 경우에만 공장 자격 증명으로 GUI / 브라우저를 사용하여 라우터에 로그인해야합니다.
http://192.168.1.1/html/index1.html
외부 IP의 포트 22, 5900, 9091에있는 모든 트래픽을 192.168.1.z의 pi에있는 각 리스너 프로그램 (sshd, vncserver, 전송 데몬)으로 전달하도록 로그인하여 규칙을 설정했습니다.
문제 :
이 라우터는 라우터 (라우터)가 다시 시작되거나 전력이 급증하여 UPS가 잠시 들어와야 할 때에도 위의 포트 전달 규칙을 잃어 버리고 대개 ISP에서 다른 외부 IP를 동적으로 가져옵니다.
요구 사항 :
내 라우터에 로그인하고 해당 포트 전달 규칙이 있는지 정기적으로 폴링하여 누락 된 경우 작성하는 fedora linux pi에서 실행할 수있는 스크립트 또는 크론 작업입니다. 감사합니다.