У меня есть две коробки с Ubuntu, A и B.

A запускает TCP-соединение с B.

Я хочу, чтобы пакет TCP SYN А приходил к B, но когда ответный пакет SYN/ACK B возвращается к A, я хочу, чтобы брандмауэр A отбросил его.

Какой самый простой способ сделать это?

1 ответ1

1

Следующее правило iptables удалит ACK с хоста A:

iptables -A INPUT -s ip.of.host.a/32 --protocol tcp --tcp-flags ACK ACK -j DROP

--tcp-flags документируется на странице man для iptables-extensions:

[!] --tcp-flags mask comp Подходит, когда флаги TCP соответствуют указанным. Первая маска аргумента - это флаги, которые мы должны исследовать, записанные в виде списка через запятую, а второй аргумент comp - это список флагов через запятую, которые должны быть установлены. Флаги: SYN ACK FIN RST URG PSH ВСЕ НЕТ. Отсюда и команда

 iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN

will only match packets with the SYN flag set, and the ACK, FIN and RST flags unset.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .