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

Исходное сообщение
"Опять DNAT\SNAT"

Отправлено AlexD , 23-Сен-03 07:48 
Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все равно ничего не выходит. Ситуевина стандартная. Есть роутер на Alt Linux'е и сервак с Citrix'ом в локалке. Надо настроить удаленный доступ из другого офиса к цитриксу. Есть скрипт:
-------------------------------------------------------------
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe

EXTIF="ppp0"
INTIF="eth0"

$DEPMOD -a

$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc

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

$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F

$IPTABLES -t nat -A PREROUTING -d x.x.x.226 -p tcp --dport 1494 -j DNAT --to-destination y.y.y.116:1494
$IPTABLES -t nat -A POSTROUTING -d y.y.y.116 -p tcp --dport 1494 -j SNAT --to-source y.y.y.225:1494
$IPTABLES -A FORWARD -d y.y.y.116 -p tcp --dport 1494 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -d x.x.x.226 -p tcp --dport 1494 -j ACCEPT

echo -e "done.\n"
---------------------------------------------------------------------
здесь х.х.х.226 внешний айпишник роутера
      у.у.у.225 локальный айпишник роутера
      у.у.у.116 айпишник сервера
Я так думаю что косяк гдето в правилах FORWARD. Кто сталкивался напишите правила которые должны быть. Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Опять DNAT\SNAT"
Отправлено Mikhail , 23-Сен-03 10:10 
Посмотри каким-нибудь сниффером, какие пакеты не проходят; добавь в конец каждой цепочки правило '-j LOG --log-prefix <chain_name>' и почитай потом логи
>Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все
>равно ничего не выходит. Ситуевина стандартная. Есть роутер на Alt Linux'е
>и сервак с Citrix'ом в локалке. Надо настроить удаленный доступ из
>другого офиса к цитриксу. Есть скрипт:
>-------------------------------------------------------------
>IPTABLES=/sbin/iptables
>DEPMOD=/sbin/depmod
>MODPROBE=/sbin/modprobe
>
>EXTIF="ppp0"
>INTIF="eth0"
>
>$DEPMOD -a
>
>$MODPROBE ip_tables
>$MODPROBE ip_conntrack
>$MODPROBE ip_conntrack_ftp
>$MODPROBE ip_conntrack_irc
>$MODPROBE iptable_nat
>$MODPROBE ip_nat_ftp
>$MODPROBE ip_nat_irc
>
>echo "1" > /proc/sys/net/ipv4/ip_forward
>echo "1" > /proc/sys/net/ipv4/ip_dynaddr
>
>$IPTABLES -P INPUT ACCEPT
>$IPTABLES -F INPUT
>$IPTABLES -P OUTPUT ACCEPT
>$IPTABLES -F OUTPUT
>$IPTABLES -P FORWARD DROP
>$IPTABLES -F FORWARD
>$IPTABLES -t nat -F
>
>$IPTABLES -t nat -A PREROUTING -d x.x.x.226 -p tcp --dport 1494 -j
>DNAT --to-destination y.y.y.116:1494
>$IPTABLES -t nat -A POSTROUTING -d y.y.y.116 -p tcp --dport 1494 -j
>SNAT --to-source y.y.y.225:1494
>$IPTABLES -A FORWARD -d y.y.y.116 -p tcp --dport 1494 -m state --state
>ESTABLISHED,RELATED -j ACCEPT
>$IPTABLES -A FORWARD -d x.x.x.226 -p tcp --dport 1494 -j ACCEPT
>
А здесь попробуй продублировать, например:
$IPTABLES -A FORWARD -d x.x.x.116 -p tcp --dport 1494 -j ACCEPT
(вообще-то рекомендуется писАть правила FORWARD НЕ ВЗИРАЯ на действия snat/dnat), потом посмотри счетчики цепочек (-nL <chain>)
>echo -e "done.\n"
>---------------------------------------------------------------------
>здесь х.х.х.226 внешний айпишник роутера
>      у.у.у.225 локальный айпишник роутера
>      у.у.у.116 айпишник сервера
>Я так думаю что косяк гдето в правилах FORWARD. Кто сталкивался напишите
>правила которые должны быть. Заранее спасибо.



"Опять DNAT\SNAT"
Отправлено RobinStone , 23-Сен-03 13:15 
>Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все
>равно ничего не выходит. Ситуевина стандартная. Есть роутер на Alt Linux'е
>и сервак с Citrix'ом в локалке. Надо настроить удаленный доступ из
>другого офиса к цитриксу. Есть скрипт:
>-------------------------------------------------------------
>IPTABLES=/sbin/iptables
>DEPMOD=/sbin/depmod
>MODPROBE=/sbin/modprobe
>
>EXTIF="ppp0"
>INTIF="eth0"
>
>$DEPMOD -a
>
>$MODPROBE ip_tables
>$MODPROBE ip_conntrack
>$MODPROBE ip_conntrack_ftp
>$MODPROBE ip_conntrack_irc
>$MODPROBE iptable_nat
>$MODPROBE ip_nat_ftp
>$MODPROBE ip_nat_irc
>
>echo "1" > /proc/sys/net/ipv4/ip_forward
>echo "1" > /proc/sys/net/ipv4/ip_dynaddr
>
>$IPTABLES -P INPUT ACCEPT
>$IPTABLES -F INPUT
>$IPTABLES -P OUTPUT ACCEPT
>$IPTABLES -F OUTPUT
>$IPTABLES -P FORWARD DROP
>$IPTABLES -F FORWARD
>$IPTABLES -t nat -F
>
>$IPTABLES -t nat -A PREROUTING -d x.x.x.226 -p tcp --dport 1494 -j
>DNAT --to-destination y.y.y.116:1494
>$IPTABLES -t nat -A POSTROUTING -d y.y.y.116 -p tcp --dport 1494 -j
>SNAT --to-source y.y.y.225:1494
>$IPTABLES -A FORWARD -d y.y.y.116 -p tcp --dport 1494 -m state --state
>ESTABLISHED,RELATED -j ACCEPT
>$IPTABLES -A FORWARD -d x.x.x.226 -p tcp --dport 1494 -j ACCEPT
>
>echo -e "done.\n"
>---------------------------------------------------------------------
>здесь х.х.х.226 внешний айпишник роутера
>      у.у.у.225 локальный айпишник роутера
>      у.у.у.116 айпишник сервера
>Я так думаю что косяк гдето в правилах FORWARD. Кто сталкивался напишите
>правила которые должны быть. Заранее спасибо.


а в остальных таблицах политика по умолчанию какая?... потому что у меня были траблы с цепочкой OUTPUT в таблице nat


"Опять DNAT\SNAT"
Отправлено maratkaz , 23-Сен-03 14:07 
>Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все
>равно ничего не выходит. Ситуевина стандартная. Есть роутер на Alt Linux'е
>и сервак с Citrix'ом в локалке. Надо настроить удаленный доступ из
>другого офиса к цитриксу. Есть скрипт:
>-------------------------------------------------------------
>IPTABLES=/sbin/iptables
>DEPMOD=/sbin/depmod
>MODPROBE=/sbin/modprobe
>
>EXTIF="ppp0"
>INTIF="eth0"
>
>$DEPMOD -a
>
>$MODPROBE ip_tables
>$MODPROBE ip_conntrack
>$MODPROBE ip_conntrack_ftp
>$MODPROBE ip_conntrack_irc
>$MODPROBE iptable_nat
>$MODPROBE ip_nat_ftp
>$MODPROBE ip_nat_irc
>
>echo "1" > /proc/sys/net/ipv4/ip_forward
>echo "1" > /proc/sys/net/ipv4/ip_dynaddr
>
>$IPTABLES -P INPUT ACCEPT
>$IPTABLES -F INPUT
>$IPTABLES -P OUTPUT ACCEPT
>$IPTABLES -F OUTPUT
>$IPTABLES -P FORWARD DROP
>$IPTABLES -F FORWARD
>$IPTABLES -t nat -F
>
>$IPTABLES -t nat -A PREROUTING -d x.x.x.226 -p tcp --dport 1494 -j
>DNAT --to-destination y.y.y.116:1494
>$IPTABLES -t nat -A POSTROUTING -d y.y.y.116 -p tcp --dport 1494 -j
>SNAT --to-source y.y.y.225:1494
>$IPTABLES -A FORWARD -d y.y.y.116 -p tcp --dport 1494 -m state --state
>ESTABLISHED,RELATED -j ACCEPT
>$IPTABLES -A FORWARD -d x.x.x.226 -p tcp --dport 1494 -j ACCEPT
>
>echo -e "done.\n"
>---------------------------------------------------------------------
>здесь х.х.х.226 внешний айпишник роутера
>      у.у.у.225 локальный айпишник роутера
>      у.у.у.116 айпишник сервера
>Я так думаю что косяк гдето в правилах FORWARD. Кто сталкивался напишите
>правила которые должны быть. Заранее спасибо.

кажется --to-source 0.0.0.0:1494 порт лишний ты  его уже указал $IPTABLES -t nat -A PREROUTING -d x.x.x.226 -p tcp --dport 1494 -j DNAT --to-destination y.y.y.116:1494
несколькими символами раньше.  И вообше выполни эти команды вручную
и сперва выролни основные команды всё разреши POLICY и т.д. а потом откорректирушь
Так если router между  Кажется -j SNAT  не 225 а -j SNAT --to-source y.y.y.226  если можешь нарисуй схему


"Опять DNAT\SNAT"
Отправлено Dimez , 23-Сен-03 14:23 
http://dimez.nm.ru/docs/nat/

"Опять DNAT\SNAT"
Отправлено AlexD , 24-Сен-03 08:21 
>http://dimez.nm.ru/docs/nat/

Спасибо всем, сделал все по этому доку все получилось :~)