 |
|
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.
© OSzone.net 2001-