LINUX.ORG.RU

IPtables DNAT-перенаправление (проксирование)

 , ,


0

2

Нужно переправить траффик с внешнего IP сервера на другой сервер с внешним IP по TCP порту (в данном случае - 25565). Чробы при коннекте на IP1:25565 коннектило на IP2:25565. (и соединения шли чрезез IP1 на IP2).
Чтобы весь траффик шел через IP1 на IP2 таким образом, чтобы получилось своего рода проксирование второго айпи за первым.
При net.ipv4.ip_forward=1 пробовал так:

iptables -t nat -A PREROUTING -p tcp --dport 25565 -j DNAT --to IP2:25565
iptables -t nat -A POSTROUTING -d IP2-j MASQUERADE
Ничего не вышло. Обунилил правила iptables. Попробовал так:
iptables -t nat -I PREROUTING -d IP1 -p tcp --dport 25565 -j DNAT --to-destination IP2:25565
iptables -t nat -I POSTROUTING -s IP2 -j SNAT --to-source IP1
iptables -t filter -I FORWARD -s IP2 -p tcp --sport 25565 -j ACCEPT
Без результатов.

Правила корректные. Счетчики netfilter пакеты считают?

ValdikSS ★★★★★ ()

iptables -t filter -I FORWARD -s IP2 -p tcp --sport 25565 -j ACCEPT

Если по умолчанию стоит ACCEPT в FORWARD, то вообще эту строчку не надо.

А прописан ли 1-й сервер у 2-го как роутер? Если не прописан, то попробуй так:

iptables -t nat -I PREROUTING -d IP1 -p tcp --dport 25565 -j DNAT --to-destination IP2:25565

iptables -t nat -I POSTROUTING -d IP2 -p tcp --dport 25565 -j SNAT --to-source {IP, с которого 2-й сервер видит 1-й}

slamd64 ★★★★★ ()
Последнее исправление: slamd64 (всего исправлений: 1)

вы че ваще не догоняете чо такое нат, это подмена адреса в пакете чтобы шлюзом сочлинить локалки с инетом, жесть воще перекидывать с внешнего на внешний ип натом - это анекдот.

ssh-туннель тебе нужен

axelroot ()
Ответ на: комментарий от axelroot

Ну что я могу на это сказать? Только «блажен, кто верует!»

Вот, например... хммм... недоступен некий сайт(IP1) из твоей локации по какой-то причине. Но из другой локации этот сайт вполне открывается. Регистрируем в этой другой локации VPSку(IP2) за 5 баксов в месяц, а на ней пишем:

iptables -t nat -I PREROUTING -d IP2 -p tcp --dport 80 -j DNAT --to-destination IP1:80

iptables -t nat -I POSTROUTING -d IP1 -p tcp --dport 80 -j SNAT --to-source IP2

Далее, уже из твоей локации набираем http://IP2 - и (о, чудо!) «недоступный сайт» вполне себе открывается.

А если IP2 ещё и у себя в hosts прописать, то ваще красота - открываться будет по доменному имени. :)

slamd64 ★★★★★ ()
Ответ на: комментарий от axelroot

Да делай что хочешь, кто ж тебе мешает. Гвозди можно и микроскопом забивать. Чем бы дитё не тешилось - главное, чтобы руки помыло до и после.

slamd64 ★★★★★ ()
Последнее исправление: slamd64 (всего исправлений: 1)
iptables -t nat -I PREROUTING -d $IP1 -p tcp -m tcp --dport 25565 -j DNAT --to-destination $IP2
iptables -t nat -I POSTROUTING -d $IP2 -p tcp -m tcp --dport 25565 -j SNAT --to-source $IP1
iptables -t filter -I FORWARD -d $IP2 -p tcp -m tcp --dport 25565 -m state --state NEW -j ACCEPT
iptables -t filter -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ArcFi ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.