편집: 저는 네트워킹과 새로운 것을 발견하는 초보자입니다 :)
나는 프로그래밍 방식으로 TUN 인터페이스를 만들었고 상호 작용할 수 있었습니다.
설정하고 실행해봤는데
ifconfig myTun 10.10.1.1/24 up
내가 볼 수 있듯이 작동 중이고 ifconfig
핑이 울리고 있습니다.10.10.1.1
그리고 내 TUN 인터페이스가 내가 작성한 문제로 실행되고 있는지 100% 확인하기 위해 다음을 수행했습니다.
핑을 보냈고 10.10.1.2
내 프로그램에서 패킷이 수신되었습니다. tun에 다시 쓴 다음 루프에서 다시 수신했습니다.
이제 나는 모든 패킷을 확신합니다에서또는에게 10.10.1.x
아무 문제 없이 TUN에 의해 수신되고 기록됩니다.
내가 패킷을 쓸 때외부의 모든 대상 IPTUN 10.10.1.x
에 성공적으로 기록되었지만 TUN에 응답이 수신되지 않았습니다.
많은 기사를 검색하고 읽은 후에 나는 그것이 커널에 의해 자동으로 삭제된다는 것을 알았습니다.
나는 serverfault.com에서 TUN 인터페이스에 대한 많은 Q/A를 읽었고 내 논리에서 심각한 부분을 놓쳤다는 것을 알게 되었습니다.라우팅.
내 최종 이해는 패킷이 정상이고 Linux의 네트워크 스택에 의해 수신되었지만 커널은 이상한 목적지 때문에 패킷을 어떻게 해야할지 모른다는 것입니다. 그런 다음 커널에 대한 일부 라우팅을 지정해야 한다는 것을 발견했습니다.iptables활성화했지만 net.ipv4.ip_forward
방법을 모릅니다.
내 최종 목표는 다음과 같습니다
10.10.1.x
TUN 외부의 목적지가 있는 패킷을 보낼 때 , 그것은 내 기본 인터페이스(인터넷에 액세스할 수 있고 wlps020f3
)로 라우팅되어야 하며 해당 패킷의 모든 결과는 내 TUN 인터페이스로 다시 수신됩니다.
구성하는 방법NAT~에iptables해결 방법은 무엇입니까?
고급 감사합니다