Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   [решено] Iptables и DC++ (http://forum.oszone.net/showthread.php?t=101646)

Strange_V 28-02-2008 01:20 749661

Iptables и DC++
 
Настраиваю iptables, при применении правил не работает клиент DC++ (точнее работает только в пассивном режиме). Гуглил, тем много, но все в основном для шлюза. У меня же не работает непосредственно на компьютере где и запускаются правила.
Код:

IPT=/sbin/iptables

LAN_IFACE="eth1"
LAN_IFACE2="eth0"
INET_IFACE="ppp0"

OPENPORTS="7000"
CLOSEPORTS="20,21,25,10000"

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

/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT

$IPT -A INPUT  -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

$IPT -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -t nat -I PREROUTING -i $LAN_IFACE -s 10.0.0.1/32 -j ACCEPT

$IPT -A INPUT -p icmp -m icmp -i $LAN_IFACE --icmp-type source-quench -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $LAN_IFACE --icmp-type source-quench -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --dport 6000:6063 -j REJECT --reject-with tcp-reset --syn

$IPT -A INPUT -p tcp -m tcp -m multiport -i $LAN_IFACE -j REJECT --reject-with tcp-reset --destination-ports $CLOSEPORTS

$IPT -A INPUT -p tcp -m tcp -m multiport -i $LAN_IFACE2 -j REJECT --reject-with tcp-reset --destination-ports $CLOSEPORTS

$IPT -A INPUT -i $LAN_IFACE2 -j ACCEPT
$IPT -A FORWARD -i $LAN_IFACE2 -j ACCEPT

$IPT -t nat -A POSTROUTING -p tcp -s 192.168.0.1/24 -m multiport --dport 20,21,80,110,2525,5190 -o $INET_IFACE -j MASQUERADE

Может что пропустил, или DC как-то настроить надо?

BuGfiX 28-02-2008 11:28 749809

В правила не вдавался, но раз Вы говорите что нашли информацию как настроить шлюз, то локальный фаервол можно настроить аналогично. На шлюзе используется цепочка FORWARD, у вас же будут задействованы INPUT и OUTPUT.

must die 28-02-2008 11:30 749811

Strange_V, клиент DC++ работает через какой интерфейс (eth0, eth1 или ppp0)?

Strange_V 28-02-2008 13:11 749863

BuGfiX,
Интересная мысль

must die,
eth1, он смотрит во внутреннюю сеть провайдера

must die 28-02-2008 13:24 749870

Strange_V, А что вы хотите, входящие пакеты на eth1 вы отбрасываете :)


Цитата:

$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --dport 6000:6063 -j REJECT --reject-with tcp-reset --syn
$IPT -A INPUT -p tcp -m tcp -m multiport -i $LAN_IFACE -j REJECT --reject-with tcp-reset --destination-ports $CLOSEPORTS


Strange_V 28-02-2008 22:21 750193

must die, эти правила блокируют конкретные порты. Но по умолчанию политика DROP, а разрешения на входящие к DC, как вы и заметили, действительно нет.
Просто я наивно предполагал, что инициированное мной соединение попадет под правило
Цитата:

$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Итого, в linuxdcpp прописал использовать 7000 порт, добавил:
Цитата:

$IPT -A INPUT -p tcp -m tcp -m multiport -i $LAN_IFACE -j ACCEPT --destination-ports 7000
все успешно работает.

Спасибо всем.

must die 29-02-2008 08:04 750383

Цитата:

Цитата Strange_V
Просто я наивно предполагал, что инициированное мной соединение попадет под правило »

Соединения в активном режиме инициируются не вами, поэтому и не работало.


Время: 14:34.

Время: 14:34.
© OSzone.net 2001-