1:1 고정 NAT를 사용하여 SSH 크랙

1:1 고정 NAT를 사용하여 SSH 크랙

따라서 IP 주소가 192.168.200.2인 192.168.200.0/24의 개인 내부 네트워크에 VM이 있습니다.

외부 네트워크 주소는 192.168.1.0/24입니다. 외부 IP의 모든 트래픽을 192.168.200.2의 VM으로 전달하고 싶습니다. 이게 내가 한 일이야...

먼저 인터페이스에 보조 IP를 추가합니다.

ip addr add 192.168.1.111 dev eno1

그런 다음 이 2개의 iptables 명령을 사용하여 nat를 설정합니다.

iptables -t nat -A PREROUTING -d 192.168.1.111 -j DNAT --to-destination 192.168.200.2
iptables -t nat -A POSTROUTING -s 192.168.200.2 -j SNAT --to-source 192.168.1.111

이것은 실제로 작동합니다. 이제 192.168.1.111로 SSH를 통해 연결할 수 있으며 IP 192.168.200.2를 사용하는 kvm 인스턴스에 있게 됩니다.

그러나 내 문제는 때때로 SSH에서 전체 연결이 정지된다는 것입니다. top이것은 항상 다음과 같은 명령을 실행할 때 발생합니다. 또는 전체 콘솔을 잠그기 전의 출력 예 systemctl는 다음과 같습니다.man iptop

top - 19:45:58 up 2 days, 23:56,  3 users,  load average: 0.00, 0.00, 0.05
Tasks: 106 total,   1 running, 105 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3936.3 total,   2479.2 free,    150.1 used,   1307.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   3505.6 avail Mem

이보다 더 많은 출력이 있어야 합니다 ^^^ 여기서는 에 있는 동안 ctrl C, ctrl Z 또는 q를 사용할 수 없습니다 man. 192.168.1.111을 사용하지 않고 192.168.200.2를 사용하여 연결하면 문제가 사라집니다. 이 문제는 192.168.1.111을 사용하여 연결할 때만 발생한다는 것을 알고 있습니다.

문제가 MTU 조각화일 수 있습니까?

어떤 도움이라도 대단히 감사하겠습니다.

ping -s 1472 192.168.1.111편집: 방금 1472가 넘는 것은 모두 폐기된다는 것을 배웠습니다 .

답변1

그래서 내 문제는 전적으로 MTU에 있습니다. 호스트 물리적 인터페이스의 mtu는 1500이고 가상 장치의 mtu는 1450입니다(vxlan 캡슐화용). 이 외에도 호스트의 VM에는 1500의 mtu가 있어 전체 문제가 발생합니다.

리눅스에서 mtu 수정

ip link set dev eth0 mtu 1500

관련 정보