URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4758
[ Назад ]

Исходное сообщение
"Проброс пакетов на другую машину"

Отправлено mastermind , 04-Дек-10 18:44 
Здравствуйте.
С Linux работаю давно, но с iptables только на днях начал знакомиться. Вообщем требуется помощь в следующем. Есть машина, которая натится в и-нет. В этой же подсети находится такая же машина и нужно настроить проброс пакетов так, чтобы с этой машины было видно инет как будто я хожу от имени первой. На аппаратных маршрутизаторах и фаерволах настраивал с помощью NAT. Имею подозрение, что это можно сделать программным способом с помощью iptables.
Если можно, прошу показать приблизительные настройки.
Заранее спасибо.

Содержание

Сообщения в этом обсуждении
"Проброс пакетов на другую машину"
Отправлено pavel_simple , 04-Дек-10 19:00 
> Здравствуйте.
> С Linux работаю давно, но с iptables только на днях начал знакомиться.

не верю!


"Проброс пакетов на другую машину"
Отправлено Александр , 05-Дек-10 17:37 
>> Здравствуйте.
>> С Linux работаю давно, но с iptables только на днях начал знакомиться.
> не верю!

Это же почему?
И вообще, есть что-нибудь по сути?


"Проброс пакетов на другую машину"
Отправлено Serge , 06-Дек-10 03:05 
iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
iptables -t nat -A POSTROUTING -o ethX -j SNAT  --to-source  XXX.XXX.XXX.XXX

"Проброс пакетов на другую машину"
Отправлено mastermind , 06-Дек-10 10:27 
> iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
> iptables -t nat -A POSTROUTING -o ethX -j SNAT  --to-source
> XXX.XXX.XXX.XXX

Это нужно прописать на второй машине? Если так, то не работает. Сейчас пробую разбираться.


"Проброс пакетов на другую машину"
Отправлено mastermind , 06-Дек-10 18:05 
>> iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
>> iptables -t nat -A POSTROUTING -o ethX -j SNAT  --to-source XXX.XXX.XXX.XXX

Сделал то, что написано выше и еще установил "1" в ip_forvard:

echo 1 > /proc/sys/net/ipv4/ip_forward

Хосты определяет (ДНС прописан), а пинг не идет на внешние адреса.

Еще раз подробно опишу вопрос. Может что-то и сам пойму ))).

Машина имеет одну сетевую карточку eth0 и адрес 10.100.100.21. Другая машина так же имеет одну сетевую и адрес 10.100.100.17. Обе в одной подсети. И вот 10.100.100.17 идет в и-нет через NAT на другой железяке. Хочется сделать так, чтобы 10.100.100.21 НАТила на выходе своего интерфейса пакеты как будто они имеют сорс-адрес не 10.100.100.21, а 10.100.100.17, то-есть тоже могли ходить в и-нет. Соответственно я сделал так:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to-source 10.100.100.17
echo 1 > /proc/sys/net/ipv4/ip_forward

Может надо какое-то еще правило? И реально ли вообще так сделать. Как может быть два хоста с одинаковым адресом пакетов на выходе?


"Проброс пакетов на другую машину"
Отправлено reader , 08-Дек-10 19:02 
если 21 нужно выпустить в инет через 17 (что бы железяка видела адрес источника как 10.100.100.17), то на 10.100.100.21 шлюзом по умолчанию указываете 10.100.100.17, dns сервера прописываете, а на 10.100.100.17 уже делаете

iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to-source 10.100.100.17
echo 1 > /proc/sys/net/ipv4/ip_forward


"Проброс пакетов на другую машину"
Отправлено mastermind , 09-Дек-10 14:13 
> если 21 нужно выпустить в инет через 17 (что бы железяка видела
> адрес источника как 10.100.100.17), то на 10.100.100.21 шлюзом по умолчанию указываете
> 10.100.100.17, dns сервера прописываете, а на 10.100.100.17 уже делаете
> iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to-source 10.100.100.17
> echo 1 > /proc/sys/net/ipv4/ip_forward

Спасибо!


"Проброс пакетов на другую машину"
Отправлено mastermind , 10-Дек-10 17:34 
> если 21 нужно выпустить в инет через 17 (что бы железяка видела
> адрес источника как 10.100.100.17), то на 10.100.100.21 шлюзом по умолчанию указываете
> 10.100.100.17, dns сервера прописываете, а на 10.100.100.17 уже делаете
> iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to-source 10.100.100.17
> echo 1 > /proc/sys/net/ipv4/ip_forward

А если машины находятся в разных подсетях, то какой установить шлюз?


"Проброс пакетов на другую машину"
Отправлено reader , 10-Дек-10 18:00 
>> если 21 нужно выпустить в инет через 17 (что бы железяка видела
>> адрес источника как 10.100.100.17), то на 10.100.100.21 шлюзом по умолчанию указываете
>> 10.100.100.17, dns сервера прописываете, а на 10.100.100.17 уже делаете
>> iptables -t nat -A POSTROUTING -o eth0 -j SNAT  --to-source 10.100.100.17
>> echo 1 > /proc/sys/net/ipv4/ip_forward
> А если машины находятся в разных подсетях, то какой установить шлюз?

ip пограничной машины из подсети клиента