USB를 통해 IP를 통해 내 컴퓨터(Ubuntu 실행)에 장치가 연결되어 있고 장치가 10.0.0.1에 연결되어 있다고 가정해 보겠습니다. 해당 연결의 내 컴퓨터 IP가 10.0.0.1이 되도록 USB를 통해 Ubuntu의 Wi-Fi를 구성했지만 실제로는 (모든 포트의) 모든 트래픽을 다른 서버로 리디렉션하고 내 컴퓨터를 에이전트로 사용하고 싶습니다.
몇 가지 해결 방법을 시도했지만 네트워킹 개념에 대한 지식이 부족하여 속도가 느려졌습니다. 검색하는 데 너무 많은 시간을 소비했고 일반적으로 문서가 약간 부족했습니다. 프록시, 방화벽(그렇지 않은 것 같습니다)을 설정해야 할지 아니면 경로 테이블을 사용해야 할지조차 잘 모르겠습니다. 내가 하고 싶은 일은 간단해 보입니다("USB의 IP에서 들어오는 모든 것을 거기 있는 서버로 리디렉션"). 그렇다면 이를 수행하는 표준 방법이 있습니까? iptables? 오징어? 우보프?
답변1
당신이 요구하는 것은 NAT
"네트워크 주소 변환"입니다. NAT 기능을 제공하는 도구는 많지만 IP 주소 수준에서는 iptables를 사용하는 것이 가장 쉽습니다.
iptables -t nat -I PREROUTING -d 10.0.0.1 --j DNAT --to 10.x.x.x
iptables의 특수 nat 테이블에서 -t nat
PREROUTING 체인( ) -I PREROUTING
의 첫 번째 규칙에 삽입하여 호스트 10.xxx( )에 대한 -j DNAT
수신 대상 IP 10.0.0.1( )을 대상 nat에 제공합니다 .-d 10.0.0.1
--to 10.x.x.x
호스트가 네트워크 라우터 역할을 하도록 IP 전달을 활성화해야 할 수도 있습니다.
sysctl -w net.ipv4.ip_forward=1
그렇게되어야합니다! (생각만큼 쉽습니다!)
아, 그리고 둘 다 루트로 실행하거나 sudo를 통해 실행해야 합니다(sudo를 통해 이러한 명령을 실행할 권한이 있는 경우!)