У меня одна проблема, даже если правила применяются без ошибок, они не работают
Теперь моя конфигурация
iptables -A PREROUTING -t mangle -s 192.168.0.113 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 3
Теперь в таблице есть следующая запись
MARK tcp -- 192.168.0.113 0.0.0.0/0 multiport dports 80,443 MARK set 0x3
Тестируем конфигурацию, узнаем IP адрес
MacBookCROSP:~ crosp$ ping www.dd-wrt.com
PING www.dd-wrt.com (83.141.4.210): 56 data bytes
64 bytes from 83.141.4.210: icmp_seq=0 ttl=55 time=34.097 ms
Сделайте несколько http-запросов
root @ CROSP Router: ~ # cat / proc / net / nf_conntrack | grep "83.141.4.210"
Получил следующее
ipv4 2 tcp 6 106 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53095 dport=80 packets=8 bytes=1185 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53095 packets=9 bytes=8140 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 107 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53097 dport=80 packets=17 bytes=1726 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53097 packets=27 bytes=34596 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 105 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53096 dport=80 packets=18 bytes=1777 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53096 packets=27 bytes=34850 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 3596 ESTABLISHED src=192.168.0.113 dst=83.141.4.210 sport=53109 dport=80 packets=4 bytes=220 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53109 packets=1 bytes=60 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 107 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53094 dport=80 packets=8 bytes=1185 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53094 packets=9 bytes=8140 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 116 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53093 dport=80 packets=6 bytes=324 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53093 packets=2 bytes=112 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 116 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53108 dport=80 packets=5 bytes=272 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53108 packets=3 bytes=164 [ASSURED] mark=0 use=2
ipv4 2 tcp 6 116 TIME_WAIT src=192.168.0.113 dst=83.141.4.210 sport=53098 dport=80 packets=6 bytes=324 src=83.141.4.210 dst=193.151.106.238 sport=80 dport=53098 packets=3 bytes=164 [ASSURED] mark=0 use=2
Что с этим не так? Почему пакеты не маркируются? Помогите пожалуйста решить проблему.
Я не мог заставить PREROUTING работать с DDWRT, даже если думал, что он работает с ядром vanilla linux. Я спросил на форумах DD-WRT, и мне сказали отключить ярлык Forwarding Engine. Я считаю, что это проблема qualcomm. Не обращайте внимания на советы по постмаршрутизации и т. Д.
Альтернативой является использование прокси-сервера для работы с изменением выходной цепочки.