iptables 원격 PC를 게이트웨이로 사용(모든 트래픽 전달)

iptables 원격 PC를 게이트웨이로 사용(모든 트래픽 전달)

문제는 다음과 같습니다. ssh로컬 인트라넷의 두 컴퓨터에 모두 액세스할 수 있습니다.
두 컴퓨터 모두에서 빠르고 안정적인 인터넷 액세스를 얻으세요.
인터넷 연결 속도를 높이기 위해 컴퓨터 PC1에서 PC2로 나가는 모든 트래픽을 전달하고 싶습니다.

이것이 달성될 수 있는가 iptables? 여기에 이미지 설명을 입력하세요.

다음은 이 상황에 대한 몇 가지 사실입니다.

  • PC1은 네트워크의 다른 컴퓨터나 인트라넷의 이벤트에 전혀 액세스할 필요가 없습니다.
  • PC1과 PC2는 제한 없이 쉽게 서로 통신할 수 있습니다(ping, ssh, tcp, udp).
  • gw2는 다른 네트워크에 있고 액세스할 수 없기 때문에 PC1 게이트웨이로 사용할 수 없습니다.
  • 필요에 따라 PC1과 PC2를 설정할 수 있습니다.

답변1

PC1에서 PC2까지 기본 라우팅을 수행합니다.

ip route add default via <PC2-IP>

PC2에서는

IPv4 패킷 전달을 허용합니다.

sysctl net.ipv4.ip_forward = 1

그런 다음 전달 및 가장을 위한 IPv4 IPtables 규칙을 설정합니다.

iptables -A FORWARD -4 -j ACCEPT이는 FORWARD 체인의 기본 정책이 이미 삭제된 경우에만 필요합니다. 이전에 IPtables 구성을 수행한 적이 없다면 아마도 그렇지 않을 것입니다.

iptables -t nat -A POSTROUTING -4 -s <PC1-IP> -j MASQUERADE

PC2에 충돌하는 IPv4 IPtables 규칙이 없다면 이 정도면 충분합니다.

다음 명령을 사용하여 현재 IPv4 IPtables 규칙을 확인할 수 있습니다.

iptables -vnL

iptables -t nat -vnL

답변2

라우팅에 관한 내용입니다. PC2를 PC1의 기본 게이트웨이로 설정하기만 하면 됩니다. 또한 gw2가 응답 패킷을 PC2로 보내도록 PC2에서 iptables구성 해야 할 수도 있습니다.SNAT

빠른 네트워크 연결 외에 느린 네트워크 연결을 사용하려는 경우 상황이 더 복잡해집니다.

관련 정보