Tun 패킷을 전달할 수 있습니까?

Tun 패킷을 전달할 수 있습니까?

나는에서 코드를 시도했다https://blog.oddbit.com/post/2023-02-14-whos-got-the-packet/

이것은 내 설정입니다.

가상 기기A (eth1: 10.223.0.2) ================>가상 기기B(eth0:10.23.56.200)

"VM"을 굵게 표시한 이유는 위 IP가 공인 IP가 아니고 무슨 차이가 있는지 모르겠습니다.

tun0을 생성하고 주소를 10.23.56.199로 설정했습니다.

전달을 활성화합니다.sudo sysctl net.ipv4.ip_forward=1

rp_filter 비활성화: 모두에 대해

for device in /proc/sys/net/ipv4/conf/*
do
   echo 0 >${device}/rp_filter
done

이들 중 어느 것도 결과를 얻지 못했습니다.

그래서 tun0 패킷이 eth1에서 수신되는지 확인할 수 있도록 tun0에서 eth1로 전달을 추가했습니다.가상 머신 A(동일한 기계).

sudo iptables -t filter -I FORWARD -i tun0 -o eth1 -j ACCEPT
sudo iptables -t filter -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -I POSTROUTING -o eth1 -j MASQUERADE

명령을 사용하여 tun0의 패킷을 볼 수 있지만 교체 tcpdump -nn -vv -i tun0 port 10001 할 때tun0eth1

tun0동일한 시스템에 패킷을 쓴 eth1다음가상 머신 B이더리움 1?

패킷이 삭제되지 않았음을 확인했습니다.netstat -i

미리 감사드립니다!

관련 정보