Как мне использовать iptables, чтобы отклонить весь трафик на порт 80 localhost, но разрешить тот, который идет с локальной машины?
Вот мое текущее решение, которое, похоже, не блокирует трафик. IP, IP локальной машины. Если 2-ю строчку не поставить, то весь трафик блокируется, а при включении весь трафик принимается ?!
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 10.80.225.83 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j LOG --log-prefix "TCP LOGDROP: "
Просто чтобы убедиться:
10.80.225.83
это IP-адрес веб-сервера, к которому я хочу получить доступ к 127.0.0.1:8010.80.225.83
чтобы отклонить любые соединения на 80-м порту, другие, кроме тех, которые исходят от localhost.iptables -I INPUT ! -i lo -p tcp --dport 80 -j DROP
Когда вы трафик идет от вашей машины к вашей машине, всегда имеет входной интерфейс «lo». Не имеет значения IP-адрес src или dst.
Не могли бы вы предоставить все содержание /etc/sysconfig/iptables
если возможно? (я обновлю свой ответ, если это возможно, как только информация станет доступной)
Поскольку я должен работать с предположением, что не существует правила DROP по умолчанию, вам необходимо:
iptables -A INPUT -p tcp --dport 80 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 10.80.225.83 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j LOG --log-prefix "TCP LOGDROP: "
iptables -A INPUT -p tcp --dport 80 -j DROP