У меня есть 2 IP-адреса, один привязан к eth0, а другой привязан к интерфейсу с псевдонимом, eth0: 1, оба этих интерфейса работают без проблем.
Однако в iptables у меня есть следующий набор правил:
-A INPUT -i eth0 -d 174.143.246.30 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -d 174.143.241.61 -p tcp -m tcp --dport 80 -j ACCEPT
iptables показывает, что они загружаются
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
ACCEPT tcp -- anywhere eurus.iamkura.com tcp dpt:www
ACCEPT tcp -- anywhere eurus.iamkura.com tcp dpt:www
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Но когда я смотрю свои журналы, я вижу, что iptables утверждает, что блокирует доступ к порту 80 на втором IP.
Feb 11 21:54:31 eurus kernel: [ 8212.861011] iptables denied: IN=eth0 OUT= MAC=40:40:f2:77:69:a8:00:1e:f7:19:b0:7f:08:00 SRC=<MY.IP.HERE> DST=174.143.241.61 LEN=52 TOS=0x00 PREC=0x00 TTL=116 ID=26993 DF PROTO=TCP SPT=51690 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0
Я действительно могу без проблем подключиться к порту 80 на этом IP, даже если iptables кричит в журналах.
Любые идеи?
IPTABLES
не блокирует доступ к этому порту, а ограничивает скорость:
limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
будьте осторожны, когда принимаете то, что написано в выходном сообщении, как истину (или комментарий исходного кода). Обычно такое случается, когда ты слишком долго на него пялишься, по крайней мере, у меня :)