LINUX.ORG.RU
решено ФорумAdmin

iptables, неверно применяется правило

 ,


0

1

Есть большой-большой скрипт с правилами, привожу фрагмент:

$IPTABLES --append POSTROUTING -t nat --destination ${IP_CAM_POLUS} -j SNAT --to-source ${IP_GATEWAY_SELF}
$IPTABLES --append FORWARD --in-interface ${IFACE_NET_WITH_IP_CAM} --out-interface ${IFACE_FRW} --destination ${IP_CAM_POLUS} -j ACCEPT
$IPTABLES --append FORWARD --in-interface ${IFACE_FRW} --out-interface ${IFACE_NET_WITH_IP_CAM} --source ${IP_CAM_POLUS} -j ACCEPT
IFACE_FRW (eth3 в логах) - это файрвол, через который к камере пытаются ломиться. eth0 - необходимый интерфейс (IFACE_NET_WITH_IP_CAM). И есть такие вот логи (логится всё содержимое действий iptables) при обращении VLC к камере (порт на камере нестандартный):
Nov 24 11:52:53 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=52 TOS=0x00 PREC=0x00 TTL=126 ID=3308 DF PROTO=TCP SPT=55582 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 24 11:52:56 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=52 TOS=0x00 PREC=0x00 TTL=126 ID=3318 DF PROTO=TCP SPT=55582 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 24 11:52:58 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=52 TOS=0x00 PREC=0x00 TTL=126 ID=3321 DF PROTO=TCP SPT=55585 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 24 11:53:01 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=52 TOS=0x00 PREC=0x00 TTL=126 ID=3324 DF PROTO=TCP SPT=55585 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 24 11:53:02 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=48 TOS=0x00 PREC=0x00 TTL=126 ID=3326 DF PROTO=TCP SPT=55582 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Nov 24 11:53:07 ig kernel: FRW-FWD: IN=eth3 OUT=eth3 SRC=192.168.101.78 DST=192.168.10.28 LEN=48 TOS=0x00 PREC=0x00 TTL=126 ID=3330 DF PROTO=TCP SPT=55585 DPT=5554 WINDOW=8192 RES=0x00 SYN URGP=0
Так вот, с какого IN и OUT равны одному и тому же интерфейсу, если в правилах я указал разные?

★★★
Ответ на: комментарий от greek_31

Меня больше интересует, почему игнорируется форвардинг.
зы Писал не я, я лишь вынужден всё это добро поддерживать.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Стоп, ты в forwarding пробуешь распределить пакеты по интерфейсам? Если да, то ты не на правильном пути, метишь пакеты в mangle и отправляешь в нужную таблицу маршрутизации средствами ip route подробнее читай про policy base routing.

Deleted
()
Ответ на: комментарий от Deleted

Спасибо за наводку. А есть ли вариант сделать это в iptables? В идеале просто надо бы ещё пропускать до камеры только RTSP порт, т.е. в случае с моими правилами дописать --protocol TCP --sport/--dport 5554 для каждого форвардинга соответственно.

Суть такова: есть клиенты за файрволом, файрвол смотрит в гейт, гейт смотрит в роутер, камера в VPN L2, подключенном к роутеру. То есть клиент стучится на файрвол, файрвол его пропускает, гейт должен сменить адрес у источника на свой (потому что роутер ничего не знает о том, что за гейтом) и пропустить на роутер, затем роутер должен пропустить этот пакет до камеры. Проблема в том, что при указании как пропускать, iptables игнорирует в какой интерфейс выпускать и выпускает в тот, из которого пришёл запрос.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Так вот, с какого IN и OUT равны одному и тому же интерфейсу, если в правилах я указал разные?

Ответ: потому что правило nat POSTROUTING на момент записи в лог еще не сработало.

есть клиенты за файрволом, файрвол смотрит в гейт, гейт смотрит в роутер

ой. да ну нахрен. Рисуй схему. И что именно на ней ты настраиваешь.

greek_31 ★★
()
Последнее исправление: greek_31 (всего исправлений: 2)
Ответ на: комментарий от Deleted

Сделал, но почему-то правило ip route проглатывается, но в выводе ip r не отображается. Ща попробую логи посмотреть.

kostett ★★★
() автор топика
Ответ на: комментарий от greek_31

Гейт. Рисовать ссыкотно, поскольку сам не до конца понимаю, как эта вся магия вообще работает.

kostett ★★★
() автор топика
Ответ на: комментарий от Deleted

Решилось, я лошара и забыл маршруты глянуть, а через ip route они отчего-то не применялись, только через route.

kostett ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.