Знатоки iptables, подскажите, можно ли как-то красиво записать условие «от нескольких источников до нескольких адресатов»? Разумеется, если все источники и все адресаты не укладываются в одну подсеть. А потом - то же самое, но в противоположном направлении.
Чтобы было понятнее - хочу переписать вот такую конструкцию из FreeBSD ipfw:
allow ip from table(10) to table(20)
allow ip from table(20) to table(10)
В iptables как-то сложновато получается. Вижу способ создать два chain-а, в одном маркировать пакеты, потом по условию наличия маркировки направить в другой, а там уже делать ACCEPT. При этом для обратного направления потребуется ещё два chain-а, потому как действия разные, хотя адреса и одинаковые. Понятно, что всё равно в скрипте, но как-то очень не красиво. Есть ли способ красивее решить задачу?
Используя только iptables красиво, наверное, не получится...
Когда то начал для себя вот этот проект: flex-fw. Там реализована подобная схема через зоны. В синтаксисе flex-fw это выглядит практически так-же, как в ipfw:
allow forward from zone1 to zone2
allow forward from zone2 to zone1
Содержимое zone1 и zone2 отдельно описывается, в отдельных файлах.