원격 IP 바인딩

원격 IP 바인딩

두 개의 서버가 있고 그 중 하나가 다른 서버의 외부 IP를 사용할 수 있기를 원합니다. 서버 A에는 20개의 IP가 있고 서버 B에는 5개가 있으므로 B가 A의 IP 5개를 사용하도록 하고 싶습니다.

어떻게 해야 하나요? A에서 B까지 5개의 openvpn 터널을 만들어야 합니까? 내 목표는 서버 B가 10개의 서로 다른 발신 IP를 갖도록 하는 것입니다.

답변1

글쎄요, 넓게 말하면 그것은 당신의 선택입니다. 나는 당신이 조사를 한 다음 원한다면 후속 질문을 할 수 있다고 생각합니다. 이 토론에서 A는 B에서 사용하려는 IP 주소를 소유합니다.

네트워크 주소 변환

트래픽은 A로 라우팅됩니다. 그런 다음 A는 SNAT와 DNAT를 수행합니다. 불행히도 이것은 실제로 다음에서만 작동합니다.들어오는연결하다. 나라를 떠나고 싶은 것 같군요. 그러나 B에서 DNAT를 수행(A에 연결 보내기)한 다음 A에서 SNAT 및 DNAT를 수행하여 올바른 IP에서 연결을 보내면 이를 달성할 수 있습니다.

이는 서비스로 트래픽을 수신하는 가장 간단한 두 가지 방법 중 하나이며, 다른 하나는 프록시입니다. 나가는 트래픽의 경우 실제보다 더 복잡해 보입니다. 몇 가지 iptables명령만 있습니다.

작업 부하 분산

A에서 나가는 연결을 생성합니다. 생성된 데이터를 B에게 다시 보냅니다. 확실히 설정하려면 약간의 작업이 필요하지만 가장 확장성이 뛰어난 솔루션입니다. 완료되면 필요에 따라 서버 C, D, E 등을 추가할 수 있습니다.

연기

A에서 HTTP 또는 SOCKS 프록시를 설정할 수 있습니다. 그런 다음 B에서 프록시에 연결합니다. A의 여러 IP에 로드를 분산하도록 프록시를 구성할 수 있습니다.

OpenSSH 포트 전달은 기본적으로 동일한 아이디어입니다. 기존 연결을 통해 포트 전달을 동적으로 변경할 수 있지만 속도가 얼마나 될지는 잘 모르겠습니다. OpenSSH가 아웃바운드 애플리케이션에 작동하지 않을 수 있습니다.

터널

터널을 만드는 방법에는 여러 가지가 있습니다. 살펴볼 기본 터널은 암호화되지 않은 터널(예: IPIP 및 GRE)과 암호화된 터널(예: OpenVPN 및 IPsec ESP)입니다.

기본적으로 이것이 모두 작동하는 방식입니다. 두 서버 사이에 가상 링크를 설정합니다. 그런 다음 이더넷 케이블이나 직렬 회선에서와 마찬가지로 일반 커널 라우팅 메커니즘을 사용하여 링크에서 트래픽을 전달합니다. 하나의 링크를 통해 원하는 만큼 많은 주소를 보낼 수 있습니다.

역방향 경로 필터링을 끌 수 없다면 나가는 패킷이 기본 게이트웨이로 직접 이동하는 대신 링크를 통과하도록 정책 라우팅을 수행해야 합니다.

많은 터널에는 MTU를 낮추는 단점이 있습니다. TCP MSS를 줄여서 보상할 수 있어야 합니다. 또는 MTU를 낮출 수는 없지만 조각화가 많이 발생합니다.

터널을 설정하면 아래 전용선과 동일하게 귀하의 IP가 B의 로컬 IP가 됩니다. 다른 방법은 그렇지 않습니다.

전용회선

서버 B에서 더 많은 IP를 구매하는 것이 확실히 더 저렴하기 때문에 완전성을 위해 포함되었지만 서버 간에 T1(등)을 임대할 수 있습니다. 그런 다음 이를 통해 트래픽을 라우팅할 수 있습니다.

나쁜 짓을 하지 마

이 문제에 대한 나머지 댓글을 읽은 후 차단당하지 않는 주요 방법은 욕설을 하지 않는 것입니다. 요청 비율을 가능한 한 낮게 유지하고 정중 robots.txt하게 유지하세요.

관련 정보