Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все равно ничего не выходит. Ситуевина стандартная. Есть роутер на Alt Linux'е и сервак с Citrix'ом в локалке. Надо настроить удаленный доступ из другого офиса к цитриксу. Есть скрипт:
-------------------------------------------------------------
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobeEXTIF="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_ircecho "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 ACCEPTecho -e "done.\n"
---------------------------------------------------------------------
здесь х.х.х.226 внешний айпишник роутера
у.у.у.225 локальный айпишник роутера
у.у.у.116 айпишник сервера
Я так думаю что косяк гдето в правилах FORWARD. Кто сталкивался напишите правила которые должны быть. Заранее спасибо.
Посмотри каким-нибудь сниффером, какие пакеты не проходят; добавь в конец каждой цепочки правило '-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. Кто сталкивался напишите
>правила которые должны быть. Заранее спасибо.
>Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все
>равно ничего не выходит. Ситуевина стандартная. Есть роутер на 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
>Блин, начитался уже всяких туториалов и другой бесспорно полезной информации, но все
>равно ничего не выходит. Ситуевина стандартная. Есть роутер на 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 если можешь нарисуй схему
http://dimez.nm.ru/docs/nat/
>http://dimez.nm.ru/docs/nat/Спасибо всем, сделал все по этому доку все получилось :~)