Linux 정적 라우팅: Ping 개인 네트워크(네트워크 다이어그램 포함)

Linux 정적 라우팅: Ping 개인 네트워크(네트워크 다이어그램 포함)

네트워크 다이어그램

위의 네트워크 다이어그램에서 내 목표는 192.168.20.20시스템 A에서 핑을 보내는 것 입니다. 라우터를 구성하고 싶지 않습니다.

이것을 달성하기 위해

  1. 모든 트래픽은 192.168.20.0/24먼저 다음으로 전달되어야 합니다. 10.200.8.14

  2. 그러면 시스템 B에는 경로가 있어야 합니다.192.168.20.20.

192.168.20.0/24네트워크에 도달하기 위한 기본 게이트웨이가 다음과 같도록 시스템 A에 경로를 추가하는 방법이 있습니까? 이러한 10.200.8.14. 경로가 추가된 경우에도 연결하려면 10.200.8.14여전히 기본 게이트웨이가 필요합니다.10.201.11.1.

이것을 달성하는 방법을 제안해주세요.

답변1

가장 먼저 떠오르는 것은 SSH 기반 VPN입니다. PermitTunnel을 보고 man sshd_config검색합니다.

PermitTunnel먼저 (두 호스트 모두) 활성화되어 있고 PermitRootLogin(systemB에서) 다시 로드되었는지 확인하세요 yes.without-password/etc/ssh/sshd_configsshd

그런 다음 다음 명령을 사용하여 호스트 10.200.8.14에 로그인합니다.

# ssh -NTCf -w 0:0 10.200.8.14

다음 단계는 개인 VPN 서브넷(이 예에서는 192.168.10.0)으로 인터페이스를 구성하는 것입니다.

systemA # ip link set tun0 up
systemA # ip addr add 192.168.10.10/32 peer 192.168.10.20 dev tun0

systemB # ip link set tun0 up
systemB # ip addr add 192.168.10.20/32 peer 192.168.10.10 dev tun0

그런 다음 시스템 B 뒤에 네트워크에 대한 경로를 추가합니다.

systemA # ip route add 192.168.20.0/24 via 192.168.10.10
systemA # ping 192.168.20.20

또 다른 방법 sshuttlesshuttle. 그런 다음 다음을 실행하십시오.

systemA # /usr/sbin/sshuttle -D --pidfile /tmp/sshuttle.pid --dns -r user@systemB 192.168.20.0/24

트래픽을 라우팅하는 데 사용되므로 sudo비밀번호가 필요합니다 . 다음을 사용하여 비밀번호를 묻지 않도록 파일을 변경할 iptables수 있습니다 ./etc/sudoersvisudo

 systemA # visudo
 # add:
 myuser ALL=(ALL) NOPASSWD: /sbin/iptables, /usr/bin/python

몇 가지 흥미로운 참고자료:

https://help.ubuntu.com/community/SSH_VPN
http://sleepyhead.de/howto/?href=vpn
https://github.com/apenwarr/sshuttle

답변2

SSH를 통한 VPN 단계를 따랐습니다. 그러나 문제는 arp 구문 분석에서 발생합니다.

192.168.10.0/24 경로를 추가한 후.

System C : route add -net 192.168.10.0/24 p255p2

arp 해결을 위해 다음 명령을 실행합니다.

System B : sudo arp -sD 192.168.10.10 eth1 pub

이 단계 후에 Ping이 작동했습니다.


이러한 단계가 필요합니까?

관련 정보