너의 네트워크에 노크하는 방법 (DD-WRT)
비밀 노크가 인식되었을 때 "문 열어야"하는 것처럼 라우터와 함께 특별한 "기숙사 노크"를하고 싶었던 적이 있습니까? Geek-How-To는 DD-WRT에 Knock 데몬을 설치하는 방법을 설명합니다..
Bfick 및 Aviad Raviv의 이미지
아직 작성하지 않았다면 시리즈의 이전 기사를 확인하고 체크 아웃하십시오.
- DD-WRT를 사용하여 가정용 라우터를 수퍼 라우터로 전환하십시오
- 가정용 라우터 (DD-WRT)에 추가 소프트웨어를 설치하는 방법
- DD-WRT에서 Pixelserv를 사용하여 광고를 제거하는 방법
당신이 그 화제에 익숙하다면, 계속 읽으십시오. 이 가이드는 좀 더 기술적 인 내용이므로 초보자는 라우터를 개조 할 때주의해야합니다..
개요
전통적으로, 장치 / 서비스와 통신 할 수 있으려면 완전한 네트워크 연결. 그러나 이렇게하면 보안 시대에 불리는 공격 영역이 노출됩니다. Knock 데몬은 미리 구성된 시퀀스가 관찰 될 때 반응 할 수있는 일종의 네트워크 스니퍼입니다. 노크 데몬이 구성된 시퀀스를 인식 할 수 있도록 연결을 설정할 필요가 없기 때문에 원하는 기능을 유지하면서 공격 표면이 줄어 듭니다. 어떤 의미에서 우리는 라우터를 전제 조건으로 원한 "2 비트"응답 (로저와는 달리 ...).
이 기사에서 우리는 :
- Knockd를 사용하여 Wake-On-Lan 라우터를 로컬 네트워크에있는 컴퓨터에 설치하는 방법을 보여줍니다..
- 안드로이드 애플리케이션뿐만 아니라 컴퓨터에서 노킹 시퀀스를 트리거하는 방법을 보여줍니다..
참고 : 설치 지침은 더 이상 관련이 없지만 내가 작성한 영화 시리즈를 볼 때 "돌아 오는 길"을 선택하면 노킹 설정의 전체 개요를 볼 수 있습니다. (단지 조잡한 발표를 변명하십시오).
보안 관련 사항
"Knockd는 얼마나 안전합니까?"에 대한 토론은 오래되었으며 인터넷 시대에 수천 년 전으로 거슬러 올라갑니다. 결론은 다음과 같습니다.
노크는 모호한 보안 계층으로, 높이다 암호화와 같은 다른 수단은 결국 보안 목적으로 사용되어서는 안됩니다..
선행 조건, 가정 및 권장 사항
- Opkg가 가능한 DD-WRT 라우터가 있다고 가정합니다.
- 설정에 "잠시"걸릴 수 있으므로 다소 인내심을 가져야합니다..
- 외부 (일반적으로 동적 인) IP에 대한 DDNS 계정을 얻는 것이 좋습니다.
깨지게하자.
설치 및 기본 구성
라우터에 터미널을 열고 발급하여 노크 데몬을 설치하십시오.
opkg 업데이트; opkg install knockd
이제 Knockd가 설치되었으므로 일단 트리거되면 실행될 트리거링 시퀀스와 명령을 구성해야합니다. 이렇게하려면 텍스트 편집기에서 "knockd.conf"파일을 엽니 다. 라우터에서 이것은 다음과 같습니다.
vi /opt/etc/knockd.conf
콘텐츠를 다음과 같이 만듭니다.
[옵션]
logfile = /var/log/knockd.log
UseSyslog
[wakelaptop]
시퀀스 = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
command = / usr / sbin / wol aa : bb : cc : dd : ee : 22 -i $ (nvram은 lan_ipaddr | cut -d. -f 1,2,3을 얻습니다.) .255
tcpflags = 동기화
위 설명을하자.
- "options"세그먼트를 사용하여 데몬에 대한 전역 매개 변수를 구성 할 수 있습니다. 이 예제에서 우리는 데몬에게 syslog와 파일 모두에서 로그를 보관하도록 지시했습니다. 두 옵션을 함께 사용하면 해를 끼치 지 않지만 그 중 하나만 유지하는 것을 고려해야합니다.
- "wakelaptop"세그먼트는 aa : bb : cc : dd : ee : 22의 MAC 주소를 가진 컴퓨터의 LAN에 WOL 명령을 트리거하는 시퀀스의 예입니다.
참고 : 위의 명령은 클래스 C 서브넷을 갖는 기본 동작을 가정합니다..
더 많은 시퀀스를 추가하려면 "wakelaptop"세그먼트를 복사하여 붙여넣고 라우터에서 실행될 새로운 매개 변수 및 / 또는 명령을 사용하여 조정하십시오..
시작
라우터가 시작할 때 데몬을 호출하게하려면 OPKG 가이드의 "geek-init"스크립트에 아래를 추가하십시오 :
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram get wan_ifname)"
이렇게하면 라우터의 "WAN"인터페이스에서 Knock 데몬이 시작되어 인터넷에서 패킷을 수신합니다.
Android에서 노크
이식성 시대에 "그걸위한 앱"이 필요했습니다 ... 그래서 StavFX는 작업을 위해 하나를 만들었습니다 :)
이 앱은 Android 기기에서 바로 노킹 시퀀스를 수행하며 홈 화면에서 위젯을 만들 수 있습니다..
- 안드로이드 마켓에서 Knocker 응용 프로그램을 설치하십시오 (종류도 좋고 좋은 평가를 해주십시오)..
- 장치에 설치되면 실행하십시오. 너는 다음과 같은 인사를해야한다.
- 오랫동안 예제 아이콘을 눌러 편집하거나 "메뉴"를 클릭하여 새 항목을 추가 할 수 있습니다. 새 항목은 다음과 같습니다.
- 라인을 추가하고 노킹에 필요한 정보를 입력하십시오. 위의 예제 WOL 구성의 경우 다음과 같습니다.
- 선택적으로 노크 이름 옆에있는 아이콘을 길게 눌러 아이콘을 변경하십시오.
- 노크를 저장하십시오..
- 기본 화면에서 새로운 노크를 살짝 눌러 활성화하십시오..
- 선택적으로 홈 화면에 위젯을 만듭니다..
아래의 텔넷 섹션으로 인해 각 포트에 대해 그룹 3 개로 예제 구성 파일을 구성했지만이 응용 프로그램에서는 포트에 대한 반복 횟수에 대한 제한이 없습니다..
StavFX가 기부 한 앱을 사용하여 재미있게 보내십시오 :-)
Windows / Linux에서 노크
가장 단순한 네트워크 유틸리티 a.k.a "Telnet"을 사용하여 노킹을 수행하는 것이 가능하지만 Microsoft는 텔넷이 "보안 위험"이며 이후 현대 Windows에 기본적으로 더 이상 설치하지 않기로 결정했습니다. 네가 나에게 묻는다면 "잠깐의 안전을 얻기 위해 필수적인 자유를 포기할 수있는 사람들은 자유와 안전을 누릴 자격이 없다. ~ 벤자민 프랭클린 "하지만 나는 탈선한다..
각 포트에 대해 예제 시퀀스를 3 개의 그룹으로 설정하는 이유는 텔넷이 원하는 포트에 연결할 수 없으면 자동으로 2 번 더 시도하기 때문입니다. 즉, 텔넷은 실제로 포기하기 전에 3 번 노크합니다. 따라서 포트 그룹의 각 포트에 대해 telnet 명령을 한 번 실행하면됩니다. 또한 다음 포트 그룹을 실행할 때까지 각 포트에 대한 텔넷의 시간 초과를 기다려야하기 때문에 30 초의 시간 초과 간격이 선택되는 이유이기도합니다. 테스트 단계가 끝나면 간단한 Batch / Bash 스크립트를 사용하여이 절차를 자동화하는 것이 좋습니다.
예제 시퀀스를 사용하면 다음과 같습니다.
- Windows의 경우 MS 지침에 따라 Telnet을 설치하십시오..
- 명령 행으로 이동하여 다음을 실행하십시오.
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
모든 것이 잘된다면, 그것은 그렇게되어야합니다..
문제 해결
라우터가 시퀀스에 반응하지 않는 경우 다음과 같은 몇 가지 문제 해결 단계를 수행 할 수 있습니다.
- 로그보기 - Knockd는 실시간으로 볼 수있는 로그를 유지하여 노킹 시퀀스가 데몬에 도착했는지와 명령이 올바르게 실행되었는지 확인합니다.
위 예제에서와 같이 적어도 로그 파일을 사용한다고 가정하면 터미널에서 문제를 실시간으로 볼 수 있습니다.tail -f /var/log/knockd.log
- 방화벽에주의하십시오 - 때로는 ISP, 직장 또는 인터넷 카페에서 의사 소통을 차단하는 자유를 누릴 수 있습니다. 이 경우 라우터가 수신 대기 중일 때 체인의 어느 부분에서든 차단되는 포트의 공격은 라우터에 도달하지 않으며 상대방이 반응하는 데 어려움을 겪습니다. 그래서 더 잘 알려진 포트를 사용하기 전에 80, 443, 3389 등과 같은 잘 알려진 포트를 사용하는 조합을 시도하는 것이 좋습니다. 다시 로그를보고 어떤 포트가 라우터의 WAN 인터페이스에 연결되는지 확인할 수 있습니다.
- 시퀀스를 내부적으로 시도하십시오 - 체인의 다른 부분이 소개 할 수있는 위의 복잡성을 수반하기 전에 시퀀스를 내부적으로 실행하여 A. 라우터가 예상대로 작동하는지 확인하십시오. B. 명령 / 예상대로. 이를 위해 다음과 같이 LAN 인터페이스에 바인딩 된 상태에서 Knockd를 시작할 수 있습니다.
knockd -d -i "$ (nvram get lan_ifnameq)"-c /opt/etc/knockd.conf
위의 실행이 끝나면 Knocking 클라이언트를 외부의 라우터가 아닌 라우터의 내부 IP로 지정할 수 있습니다.
팁 : knockd는 IP 레벨이 아닌 "인터페이스"레벨에서 청취하기 때문에 항상 LAN 인터페이스에 KnockD의 인스턴스를 실행하고 싶을 수 있습니다. "Knocker"가 두 개의 호스트 노크를 지원하도록 업데이트되었으므로 노킹 프로파일을 단순화하고 통합 할 수 있습니다. - 위의 구성에서 LAN 인터페이스에서 WAN 인터페이스를 노크 할 수 없다는 것을 기억하십시오. 만약 당신이 "어떤면에서"당신이 단순히 악마를 두 번 실행할 수 있습니다 아무리 노크 수 있기를 원한다면, 기사에서와 같이 WAN에 묶여지면 위의 디버깅 단계 에서처럼 일단 LAN에 바인딩됩니다. 위의 명령을 동일한 geek-init 스크립트에 추가하는 것만으로 두 명령을 함께 실행해도 문제가 없습니다..
비고
위의 예는 다양한 다른 방법으로 수행 할 수 있지만 더 많은 사전 작업을 수행하는 방법을 배우기 위해 사용할 수 있기를 바랍니다. 노크 뒤에 VPN 서비스를 숨기는이 기사의 두 번째 부분이 올 것이므로 계속 지켜봐주십시오..Knocking을 통해 다음과 같은 작업을 수행 할 수 있습니다. 동적으로 포트를 열고, 서비스를 사용 / 사용하지 않도록 설정하고, 원격 WOL 컴퓨터 및 기타 ...