- iptables:возможно ли сделать такое?, shadow_alone, 22:16 , 30-Янв-10 (1)
- iptables:возможно ли сделать такое?, shas, 22:37 , 30-Янв-10 (2)
>первое что пришло в голову: >А является ли данный сервер шлюзом для данного компьютера? >А порт слушает точно tcp? Может я неправильно понял первый вопрос, но никаких других компьютеров, кроме сервера нет. Просто пакет на сервер на 2000 порт приходит на внешний интерфейс, а надо сделать, как будто он пришел на внутренний. А порт точно tcp.
- iptables:возможно ли сделать такое?, shadow_alone, 22:43 , 30-Янв-10 (3)
- iptables:возможно ли сделать такое?, shas, 23:12 , 30-Янв-10 (4)
>[оверквотинг удален] > >открыт ли 2000 порт извне? >включен ли форвардинг? > >дайте вывод >iptables -L -n -v > > >и вывод >sysctl -a|grep net.ipv4.ip_forward Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 54 5779 ACCEPT 0 -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT 0 -- eth1 * 0.0.0.0/0 0.0.0.0/0 6 384 ACCEPT 0 -- eth0 * 0.0.0.0/0 0.0.0.0/0 0 0 DROP 0 -- * * 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT 0 -- * * 0.0.0.0/0 192.168.0.5 0 0 ACCEPT 0 -- * * 0.0.0.0/0 127.0.0.1 0 0 ACCEPT icmp -- * eth0 192.168.0.0/24 0.0.0.0/0 0 0 ACCEPT icmp -- eth0 * 0.0.0.0/0 192.168.0.0/24 0 0 ACCEPT udp -- eth0 * 192.168.0.0/24 0.0.0.0/0 multiport dports 53,1194 0 0 ACCEPT udp -- * eth0 0.0.0.0/0 192.168.0.0/24 multiport sports 53,1194 0 0 ACCEPT tcp -- eth0 * 192.168.0.0/24 0.0.0.0/0 multiport dports 22,25,53,443,465,80,85,110 0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 192.168.0.0/24 multiport sports 22,25,53,443,465,80,85,110 0 0 DROP !icmp -- eth0 * 192.168.0.0/24 0.0.0.0/0 state INVALID 0 0 DROP !icmp -- * eth0 0.0.0.0/0 192.168.0.0/24 state INVALID Chain OUTPUT (policy ACCEPT 221 packets, 28995 bytes) pkts bytes target prot opt in out source destination net.ipv4.ip_forward = 1
- iptables:возможно ли сделать такое?, shas, 09:44 , 31-Янв-10 (10)
Спасибо за ответы, но не работает. Для чистоты эксперимента поступил следующим образом. Набросал следующую программу:#!/usr/bin/perl -w use strict; use IO::Socket; my $quit=0; $SIG{INT}=sub {$quit=1}; my $listen_socket = IO::Socket::INET->new(LocalPort=>5000, Listen=>5, Proto=>'tcp', Reuse=>1, Timeout=>3600); die "Error 1:$@" unless $listen_socket; warn "Waiting for connection...\n"; my $count=0; while(!$quit){ next unless my $conn=$listen_socket->accept; $count++; warn "$count\n"; $conn->close; } $listen_socket->close; warn "Bye!\n" Вообщем все просто:открыли сокет и слушаем порт 5000. Если что-то пришло - выводим $count. Если в открытии сокета не указывать LocalAddr, то программа слушает все интерфейсы. Можно проверить: telnet 192.168.0.5 5000 telnet 127.0.0.1 5000 telnet xxx.xxx.xxx.xxx 5000 приводят к реакции программы (xxx.xxx.xxx.xxx-внешний IP-шник). Теперь добавим в открытие сокета конкретный интерфейс: my $listen_socket = IO::Socket::INET->new(LocalAddr=>'127.0.0.1', LocalPort=>5000, Listen=>5, Proto=>'tcp', Reuse=>1, Timeout=>3600); Теперь к реакции программы приводит только telnet 127.0.0.1 5000 Так вот вопрос, возможно ли с помощью iptables добиться ответа программы теперь подключившись с других сетевых интерфейсов?
- iptables:возможно ли сделать такое?, reader, 14:36 , 31-Янв-10 (11)
- iptables:возможно ли сделать такое?, reader, 15:53 , 31-Янв-10 (12)
- iptables:возможно ли сделать такое?, shas, 16:37 , 31-Янв-10 (13)
>а в целом наверно задачу можно решить с помощью VPN , если >с iptables не получится. >во всяком случае с ssh подобное у меня было. Спасибо! Я тоже так думаю, что VPN должен помочь. Но и про iptables я тоже так думал до недавнего времени. :)
- iptables:возможно ли сделать такое?, reader, 21:23 , 01-Фев-10 (14)
- iptables:возможно ли сделать такое?, shas, 19:56 , 05-Фев-10 (16)
>указал squid-у слушать на внешнем интерфейсе шлюза. в браузере внутри сети, адресом >прокси, указал ip внутреннего интерфейса шлюза и на шлюзе соответственно сделал >проброс с внутреннего на внешний. все замечательно отработало и как ожидал >пакеты ходили через INPUT и OUTPUT , а не через FORWARD. >С той программой, которую я привел в качестве теста, такой номер не пройдет. По крайней мере, у меня не прошёл.
- iptables:возможно ли сделать такое?, po, 22:34 , 05-Фев-10 (17) +1
|