@louvremaster

Как заставить работать совместно iptables+synproxy и форвардинг в gre-туннель?

Смысл следующий, имеется одна машина с достаточными ресурсами чтобы отбить syn-flood, с нее трафик через gre-туннель отсылается на другую машину. При помощи нехитрых правил:
iptables -t nat -A POSTROUTING -s 192.168.168.0/30 ! -o gre+ -j SNAT --to-source XXX.XXX.XXX.XXX
iptables -t nat -A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to-destination 192.168.168.2:80
iptables -A FORWARD -d 192.168.168.2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Но естественно как только организовать syn-flood, на "фильтрующий" сервер, то весь этот траф полетит и в туннель.

Для этого должен помочь synproxy:
iptables -t raw -I PREROUTING -i eth0 -p tcp -m tcp --syn --dport 80 -j CT --notrack
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -A INPUT -m state --state INVALID -j DROP

Но незадача в том, что при использовании этих правил трафик перестает попадать в туннель. Вопрос в том как фильтровать флуд и в туннель отправлять только чистый трафик?
  • Вопрос задан
  • 711 просмотров
Пригласить эксперта
Ответы на вопрос 1
@louvremaster Автор вопроса
Часть вопросов снял nf_conntrack_proto_gre
Вместо таблицы raw использовал mangle
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы