Уважаемые коллеги!Помогите пожалуйста подружить Linux и клиент Сбербанка, а то неделю уже бьюсь безрезультатно, а бухи скоро съедят. В Линуксе, к сожалению, полный чайник, а надо срочно. Взгляните опытным взглядом на мою проблему:
В сети все машины виндовые, на шлюзе ASPLinux 9, инет раздаётся через squid, вот ifconfig:
eth0 Link encap:Ethernet HWaddr 00:05:5D:77:71:81
inet addr:192.168.22.2 Bcast:192.168.22.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:110450 errors:0 dropped:0 overruns:0 frame:0
TX packets:104462 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:24326537 (23.1 Mb) TX bytes:75507128 (72.0 Mb)
Interrupt:5 Base address:0xd800eth0:1 Link encap:Ethernet HWaddr 00:05:5D:77:71:81
inet addr:192.168.23.2 Bcast:192.168.23.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:765 dropped:0 overruns:0 carrier:765
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:5 Base address:0xd800eth1 Link encap:Ethernet HWaddr 00:07:E9:1A:D0:84
inet addr:172.18.x.x Bcast:172.18.x.x Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:139142 errors:0 dropped:0 overruns:0 frame:0
TX packets:69788 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:62293931 (59.4 Mb) TX bytes:15113614 (14.4 Mb)
Interrupt:9 Base address:0xd400 Memory:f6000000-f6000038gre1 Link encap:UNSPEC HWaddr D9-41-D1-58-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.21.1 P-t-P:192.168.21.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1476 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:765 dropped:0 overruns:0 carrier:765
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:66684 errors:0 dropped:0 overruns:0 frame:0
TX packets:66684 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5703143 (5.4 Mb) TX bytes:5703143 (5.4 Mb)
___________________________________________________________________
где eth0 - локалка, eth1 - инет, а вот iptables:# Generated by iptables-save v1.2.7a on Tue Dec 2 14:53:06 2008
*mangle
:PREROUTING ACCEPT [3986465:1395899129]
:INPUT ACCEPT [3355650:1343161459]
:FORWARD ACCEPT [71783:3574765]
:OUTPUT ACCEPT [3631277:1572318180]
:POSTROUTING ACCEPT [3638979:1572826498]
COMMIT
# Completed on Tue Dec 2 14:53:06 2008
# Generated by iptables-save v1.2.7a on Tue Dec 2 14:53:06 2008
*nat
:PREROUTING ACCEPT [759266:61097849]
:POSTROUTING ACCEPT [21604:1446318]
:OUTPUT ACCEPT [99112:6158473]
-A POSTROUTING -o eth1 -j ULOG --ulog-prefix "out" --ulog-qthreshold 50
-A POSTROUTING -d ! 192.168.0.0/255.255.0.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Tue Dec 2 14:53:06 2008
# Generated by iptables-save v1.2.7a on Tue Dec 2 14:53:06 2008
*filter
:INPUT DROP [5759:1847346]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ULOG --ulog-prefix "in" --ulog-qthreshold 50
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i ppp+ -j ACCEPT
-A INPUT -i gre1 -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p 47 -j ACCEPT
-A INPUT -p 4 -j ACCEPT
-A INPUT -i eth1 -p tcp -m multiport --dports 135,netbios-ns,netbios-ssn,microsoft-ds,ms-sql-m,squid,mysql -j DROP
-A INPUT -i eth1 -p udp -m multiport --dports 135,netbios-ns,netbios-ssn,microsoft-ds,ms-sql-m,3128,mysql -j DROP
-A INPUT -i eth1 -p tcp -m multiport --dports smtp -j ACCEPT
-A INPUT -s 80.92.x.x -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 80.92.x.x -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 217.65.x.x -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 1024:65535 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 1024:65535 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 113 -j REJECT --reject-with tcp-reset
-A INPUT -j LOG --log-prefix "drop "
-A FORWARD -s ! 192.168.0.0/255.255.0.0 -d 192.168.0.0/255.255.0.0 -j ULOG --ulog-prefix "in" --ulog-qthreshold 50
-A FORWARD -s 192.168.0.0/255.255.0.0 -d 192.168.0.0/255.255.0.0 -j ACCEPT
-A FORWARD -d 195.14.x.x -p tcp -m state --state NEW -m tcp --dport 15100 -j ACCEPT
-A FORWARD -m state --state NEW -m limit --limit 3/sec -j LOG --log-prefix "nat deny "
-A FORWARD -m state --state NEW -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -s 217.23.x.x -j ULOG --ulog-prefix "out" --ulog-qthreshold 50
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Tue Dec 2 14:53:06 2008
Клиент Сбербанка выходит через 87 порт UDP, а входит под разными другими портами. Я так понимаю, надо разрешить форвардинг к машине с клиент-банком и настроить инет там через шлюз, а как это сделать в Линуксе не пойму.
>Клиент Сбербанка выходит через 87 порт UDP,это врядли
>а входит под разными другими
>портами. Я так понимаю, надо разрешить форвардинг к машине с клиент-банком
>и настроить инет там через шлюз, а как это сделать в
>Линуксе не пойму.не пытайтесь сломать себе мозг -- установите socks сервер и выходите через соксификатор
>>Клиент Сбербанка выходит через 87 порт UDP,
>
>это врядлиКлиент Сбербанка использует VPN-туннель, для построения которого используется UDP-протокол (на "Сервере" используется 87 порт, «Клиент» использует стандартные порты выше 1024 (динамические))
>
>не пытайтесь сломать себе мозг -- установите socks сервер и выходите через
>соксификаторЧестно говоря, я сломал мозг только подумав о том, как установить socks сервер на Linux...
А просто добавить правила в iptables можно?
Извиняюсь, что влез в чужую тему, у меня проблема идентичная.>не пытайтесь сломать себе мозг -- установите socks сервер и выходите через
>соксификаторА как? Я этим ... звонил. Так говорят - сокеты у них вроде бета, и с Linux - овыми прокси они сомниваются, что пойдет. По крайней мере ss5 у меня стоит, я им с ЛЕФКО (мир его праху) работал отлично. А со Сбером не хочет, и их спец в Linux - е не шарит совсем.
С уважением OKtoEd
>>Клиент Сбербанка выходит через 87 порт UDP,
>это врядлиИменно так. Чисто теоретически если повесить uproxy на внутренний ip адрес
на 87 порт и сделать перенаправление на ip сберовского сервера, а в настройках
сменить внешний ip сбера на свой внутренний, то соединение вроде как устанавливается. Но дальше этого оно нахрен не работает.>>а входит под разными другими
>>портами. Я так понимаю, надо разрешить форвардинг к машине с клиент-банком
>>и настроить инет там через шлюз, а как это сделать в
>>Линуксе не пойму.
>не пытайтесь сломать себе мозг -- установите socks сервер и выходите через
>соксификаторМы про фпсу/ip говорим, правильно? Эта куча говна нормально через socks не работает. А когда их спрашиваешь, выясняется что они вообще тестировали только под виндовый socks сервер, через dante их поделие работать отказывается.
>Уважаемые коллеги!Помогите пожалуйста подружить Linux и клиент Сбербанка, а то неделю уже
>бьюсь безрезультатно, а бухи скоро съедят. В Линуксе, к сожалению, полный
>чайник, а надо срочно. Взгляните опытным взглядом на мою проблему:
>В сети все машины виндовые, на шлюзе ASPLinux 9, инет раздаётся через
>squid, вот ifconfig:Не только через сквид, вот тут маскарад ещё...
>*nat
>-A POSTROUTING -d ! 192.168.0.0/255.255.0.0 -o eth1 -j MASQUERADEВот какой-то сервис "наружу". К нему и сеть 192.168/16 может "ходить", видимо.
>-A FORWARD -d 195.14.x.x -p tcp -m state --state NEW -m tcp
>--dport 15100 -j ACCEPTДругих сервисов, к которым пускают внутреннюю сеть - не видно.
>Клиент Сбербанка выходит через 87 порт UDP, а входит под разными другими
>портами. Я так понимаю, надо разрешить форвардинг к машине с клиент-банком
>и настроить инет там через шлюз, а как это сделать в
>Линуксе не пойму.Именно. Маскарад уже есть, надо в FORWARD правила для добавить.
У меня на firehol-е примерно вот так получилось, для одного (.0.5) внутреннего ip:
# cat ./sberb-fh-001
server_udp87_ports="udp/87"
client_udp87_ports="default"router sber inface eth0 outface eth1
server udp87 accept src 192.168.0.5
# firehol ./sberb-fh-001 debug |./explain-sorter
-N out_sber_udp87_s1
-A out_sber_udp87_s1 -p udp --sport 87 -d 192.168.0.5 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-N in_sber_udp87_s1
-A in_sber_udp87_s1 -p udp -s 192.168.0.5 --sport 1024:65535 --dport 87 -m state --state NEW\,ESTABLISHED -j ACCEPT
-N out_sber
-A out_sber -j out_sber_udp87_s1
-A out_sber -m state --state RELATED -j ACCEPT
-N in_sber
-A in_sber -j in_sber_udp87_s1
-A in_sber -m state --state RELATED -j ACCEPT
-A OUTPUT -m state --state RELATED -j ACCEPT
-A OUTPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix=\'OUT-unknown:\'
-A OUTPUT -j DROP
-A INPUT -m state --state RELATED -j ACCEPT
-A INPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix=\'IN-unknown:\'
-A INPUT -j DROP
-A FORWARD -i eth0 -o eth1 -j in_sber
-A FORWARD -i eth1 -o eth0 -j out_sber
-A FORWARD -m state --state RELATED -j ACCEPT
-A FORWARD -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix=\'PASS-unknown:\'
-A FORWARD -j DROP
# _Как Вам чужие дампы?...
>Вот какой-то сервис "наружу". К нему и сеть 192.168/16 может "ходить", видимо.
>
>>-A FORWARD -d 195.14.x.x -p tcp -m state --state NEW -m tcp
>>--dport 15100 -j ACCEPT
>Именно. Маскарад уже есть, надо в FORWARD правила для добавить.
>Пробовал добавить -A FORWARD -d IP_banka -p udp -m state --state NEW -m udp --dport 87 -j ACCEPT
не прокатило>Как Вам чужие дампы?...
Из вашего дампа я логически вывел следущее:
-A FORWARD -i eth0 -o eth1 -j -p udp -s MY_IP --sport 1024:65535 --dport 87 -m state
-A FORWARD -i eth1 -o eth0 -j -p udp -s MY_IP --sport 1024:65535 --dport 87 -m state
-A FORWARD -m state --state RELATED -j ACCEPT
-A FORWARD -j DROPНа сервере попробовать не успел, но есть сомнения, что сделал правильные выводы...
>Пробовал добавить -A FORWARD -d IP_banka -p udp -m state --state NEW -m udp --dport 87 -j ACCEPT
>не прокатилоНужно как минимум два правила - для пакетов в двух направлениях. Либо одно, но тогда получится _слишком_ общо - ~~"дыряво".
>>Как Вам чужие дампы?...
Это я к тому, что чужие дампы (в больших дозах) малоинтерены. :(
>-A FORWARD -i eth0 -o eth1 -j -p udp -s MY_IP --sport
>1024:65535 --dport 87 -m state
>-A FORWARD -i eth1 -o eth0 -j -p udp -s MY_IP --sport
>1024:65535 --dport 87 -m state
>-A FORWARD -m state --state RELATED -j ACCEPT
>-A FORWARD -j DROP
>
>На сервере попробовать
>не успел, но есть сомнения,-A FORWARD -i eth0 -o eth1 -p udp -s 192.168.0.5 --sport 1024:65535 --dport 87 -m state --state NEW\,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -p udp --sport 87 -d 192.168.0.5 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -m state --state RELATED -j ACCEPTЛогически дОлжо было бы получится примерно ^^-так. И да, -d/-s $BANK_IP тоже правильно туда же куда-нибудь добавить.
Также логически, "стейтфул" (мои) правлила смешивать со "стейтлес" (ваши) -- отдельный жанр изврващения. Последнюю строку м.б. стоит заменить парой вроде
-A FORWARD -i eth0 -o eth1 -s 192.168.0.5 -m state --state RELATED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -d 192.168.0.5 -m state --state RELATED -j ACCEPT, но совершенно не уверен насчёт порядка/синтаксисса параметров. У меня правила iptables пишет специально обученный :) скрипт.
вот странный ты человек -- зачем искать и _догадываться_ что не так -- во многих дистрибутивах есть ulog-acctd и состоварищи а netfilter с незапамятных времён имеется -J LOG/ULOG
>Уважаемые коллеги!Помогите пожалуйста подружить Linux и клиент Сбербанка, а то неделю уже
>бьюсь безрезультатно, а бухи скоро съедят. В Линуксе, к сожалению, полный
>чайник, а надо срочно. Взгляните опытным взглядом на мою проблему:
>В сети все машины виндовые, на шлюзе ASPLinux 9,У меня тоже была такая проблема. Разрешилось вот так:
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 -A FORWARD -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
где eth0 - сетевой интерфейс, смотрящий в интернет
после чего на машине, где стоит твоя программа указываешь в настройках соединения, что шлюз - это ip твоей линукс-машины.
Спасибо линуксфоруму.
>[оверквотинг удален]
>iptables -P FORWARD DROP
>iptables -F FORWARD
>iptables -t nat -F
>iptables -A FORWARD -j ACCEPT
>iptables -A FORWARD -j ACCEPT
>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>где eth0 - сетевой интерфейс, смотрящий в интернет
>после чего на машине, где стоит твоя программа указываешь в настройках соединения,
>что шлюз - это ip твоей линукс-машины.
>Спасибо линуксфоруму.итого: -- открыто всё