Назад | Перейти на главную страницу

iptables блокирует трафик на порт 443 без тайм-аута соединения

У меня есть компьютер 192.168.1.10, и я хочу заблокировать трафик на порт 443 из локальной сети.

Сейчас я просто использую:

iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 443 -j REJECT

проблема в том, что если я укажу в браузере https://192.168.1.10 требуется некоторое время, чтобы пройти по таймауту соединения, вместо того, чтобы немедленно дать мне отказ в соединении, как я ожидал от действия -j REJECT.

Зачем ? Я хотел бы получить отказ в соединении с установленными мной правилами iptables, а не тайм-аут соединения с некоторой задержкой.

Спасибо

ОБНОВЛЕНИЕ: правила iptables:

Chain INPUT (policy DROP 1 packets, 36 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags:! 0x17/0x02 state NEW
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x29
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x3F
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x00
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x06/0x06
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x03/0x03
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x11/0x01
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcpflags: 0x3F/0x37
    0     0 ACCEPT     tcp  --  *      *       127.0.0.0/24         0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       127.0.0.0/24         0.0.0.0/0
    9   468 REJECT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0            tcp dpt:443 reject-with icmp-admin-prohibited
    0     0 REJECT     tcp  --  tun0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443 reject-with icmp-port-unreachable
   70  4080 ACCEPT     tcp  --  *      *       192.168.1.0/24       0.0.0.0/0
   37  9773 ACCEPT     udp  --  *      *       192.168.1.0/24       0.0.0.0/0
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:67
    0     0 ACCEPT     all  --  tun0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 limit: avg 10/sec burst 5
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    6   456 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  eth0   tun0    0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  *      eth0    10.7.7.0/24          0.0.0.0/0

Chain OUTPUT (policy ACCEPT 94 packets, 14132 bytes)
 pkts bytes target     prot opt in     out     source               destination

На основании дальнейших обменов выяснилось, что возникла необходимость добавить:

--reject-with tcp-reset

на ваш iptables ... -j REJECT правило, чтобы иметь немедленную реакцию, не дожидаясь тайм-аута.

Даже если бы было лучше использовать определенный тип отказа на основе ICMP, поскольку этот протокол предназначен для сигнализации о причине отказа в соединении.