[РЕШЕНО] помогите разобраться со связкой CONNTRACK CONNMARK fwmark
Комрады привет, есть пару вопросов книжек прочитал тьму но допереть не могу, помогите советом.
Делаю так
ip route flush table $TABLE1
ip route add default via $GATE1 table $TABLE1
ip rule add priority 101 fwmark 0x1/0x1 lookup $TABLE1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables
$ip -P INPUT ACCEPT
$ip -P OUTPUT ACCEPT
$ip -P FORWARD ACCEPT
$ip -t mangle -A INPUT -i eth0 -j CONNMARK --set-mark 0x1
$ip -t mangle -A OUTPUT -o eth0 -j CONNAMRK --restore-mark
На сколько я понимаю этого должно хватать чтобы пометить все пакеты которые уходят с eth0 меткой 1, после метки должны отсеиваться в таблицу $TABLE1 и уходить на $GATE1
Но
ping 172.16.60.1 ->connect: Network is unreachable
ping -I eth0 172.16.60.1 -> Destination Host unreachable
как побороть?
Спасибо заранее за ответы.
сам допер, iptables -t mangle -A OUTPUT -o eth0 -j CONNMARK --set-mark 0x1
- Для комментирования войдите или зарегистрируйтесь
sharp написал(а): echo 0 >
Запрещает маршрутизацию!!!
Потому никакой траффик никуда и не идет! :D
поправил на 1, rp_filter
поправил на 1, rp_filter поставил 0, трафик не пошел
локальный трафик ВСЕГДА
локальный трафик ВСЕГДА проверяет наличие маршрута сначала в главной таблице. Если в главной таблице нет маршрута для данной сети и не указан default gate - ничего работать не будет. PBR(Policy-based routing) изначально задумывался для транзитного траффика
Update: не увидел, что уже решено, но да, вторым на очереди - проверить маркируется ли трафик в OUTPUT. Рад что вы нашли решение сами :-)
Нейтральность - высшее достижение сознания!