실제 IP 주소로 포트 포워딩


0

포트 포워딩을 구현하는 방법, IPTABLES가있는 SNAT DNET과 함께 호스트의 실제 IP 및 비 IP 시스템에 표시됩니다.

이 제도는

IP 1.2.3.4가있는 기계 -HETE

IP 4.5.6.7이있는 기계 -HETE

그 계획은 다음과 같이 작동해야합니까?

IP 9.8.7.6 클라이언트 IP 1.2.3.4:27015> 변환??? & gt; IP 4.5.6.7:27234 클라이언트 IP 9.8.7.6

그건 IPTABLES에 대한 규칙이지만, 그런 규칙, 나는 실제 IP 주소를 보지 못해, 제발 도와주세요

iptables-t nat-A PREROUTING-p udp - dport 27015-j DNAT - to-destination 46.174.50.44:27231 
iptables-t nat-A POSTROUTING-j MASQUERADE 

그건 그렇고, UDP가 사용됩니다


2
"machine-HETE"는 무슨 뜻입니까? 그리고 1.2.3.4 및 4.5.6.7은 사설 IP 또는 공개 IP가되어야합니까?
barlop

전용 서버 1 및 2
Maya

인터넷에있는 공인 IP
Maya

2
나는 SNAT과 DNAT가 순전히 NAT를위한 것이라고 생각한다. 공용 IP를 사용하려면 왜 SNAT 및 DNAT를 원하십니까? IP 마스커레이딩은 NAT의 한 형태입니다. 공용 IP를 원한다면 NAT를 원하지 않을 것입니다.
barlop

내가 리디렉션 포트를 만들었습니다. 클라이언트 9.8.7.6 tuk tuk 27015 & gt; DS # 1은 클라이언트 리디렉션 & gt; REAL IP 클라이언트가있는 DS # 2 27015 9.8.7.6
Maya

답변:


0

DNAT가 가장 확실하게 원하는 것입니다. 그러나 당신의 문제는 정확히 무엇입니까? 필요한 유일한 규칙은 매우 간단합니다.

iptables -t nat -A PREROUTING -p udp -i eth0 -d 1.2.3.4 --dport 27015 -j DNAT --to-destination 4.5.6.7:27015

...어디에 eth0 작업 할 네트워크 인터페이스이며 1.2.3.4 처리 할 목적지. 물론 서버에 인터페이스가 하나만 있거나 하나의 IP 주소 만 있으면이 포트는 빠져있을 수 있습니다.

지금은 테스트하기에는 너무 게으르지만 응답 패킷의 리턴 경로가 다르기 때문에 몇 가지 문제가 발생할 것이라고 확신합니다.


고마워,하지만이 규칙은 작동하지 않는다. 탐지 IP 1.2.3.4, 클라이언트가 아님 9.8.7.6
Maya

다시 오세요? 리디렉션 서버의 IP 대신 클라이언트 IP를 일치 시키려면 -s (소스) 옵션. 당연히, 이들은 iptables 다른 곳에서 배울 수있는 기초.
Daniel B

함께 -s NOT WORKING
Maya

적어도 시험 적절한 영어를 쓰기. 이것은 완벽하게 작동합니다. 그러나 이것이 서버 제공자의 가장 기본적인 필터링 루틴을 통과시킬 가능성은 매우 낮습니다. 왜냐하면 이것은 기본적으로 IP 스푸핑 (spoofing)이기 때문입니다. 당신도 SNAT을 고용했다면 이것은 문제가되지 않습니다. 그러나 클라이언트의 IP 주소는 보존되지 않습니다.
Daniel B

@Maya 귀하의 기술적 서술은 사람들에게 충분히 명확하지 않으므로, 모호하지 않고 명확한 방식으로 의사 소통을 시도하십시오. 최소한의 설명없이 이해할 수 있습니다. 예를 들어 스크린 샷을 사용하려면 명령 줄 / 터미널에서 붙여 넣기를 사용하십시오. 당신이 얻는 것과 대조를 기대하는 것을 말하십시오. 실제 공개 IP를 쓰되 숫자 중 하나 또는 두 개를 비워 두십시오.
barlop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.