Привет!
Помогите пожалуйста с проблемой проброса портов.
Есть iptables на Debian. На сервере 2 сетевые карты.
Интернет от роутера (обычный дешевый DLINK) с динамическим ip. (DLS)
В сети есть камеры, к примеру одна из них 192.168.10.54:8181
Из вне к ним можно подключаться через доменное имя типа (dyndns) предоставленное производителем камеры.
Проблема в том, что без Linux всё работает, а через iptables пропустить не получается.
Сделал проброс на роутере.
Сделал проброс на iptables
$cmd -t nat -A PREROUTING -p tcp -d 192.168.9.100 --dport 8181 -j DNAT --to-destination 192.168.10.54:8181
$cmd -t nat -A POSTROUTING -p tcp -d 192.168.10.54 --dport 8181 -j SNAT --to-source 192.168.9.100где 192.168.9.100 - ip роутера
Не работает.
Потом уже открыл все порты - не работает.
Потом разрешил всю пересылку $cmd -t filter -A FORWARD -i $intiface -j allowed
не помогло...Помогите пожалуйста.
> allowed
> не помогло...
> Помогите пожалуйста../ На роутере: ${SYSCTL_CMD} -w "net.ipv4.ip_forward=1"
./ На роутере: Пропускать и "прямые", и обратные пакеты.
./ Роутинги на всех участниках парада проверить.
По первому пункту - всё впорядке
По 2 впорядке
По 3 не понял. Поясните пожалуйста.
С Linux недавно познакомился.
>[оверквотинг удален]
> DNAT --to-destination 192.168.10.54:8181
> $cmd -t nat -A POSTROUTING -p tcp -d 192.168.10.54 --dport 8181 -j
> SNAT --to-source 192.168.9.100
> где 192.168.9.100 - ip роутера
> Не работает.
> Потом уже открыл все порты - не работает.
> Потом разрешил всю пересылку $cmd -t filter -A FORWARD -i $intiface -j
> allowed
> не помогло...
> Помогите пожалуйста.можно у вас спросить?
1. зачем делать сначала dnat а потом snat ? вы делаете маппинг 1-1 без conntrack'а? -- в общем случае в данном случае необходи _только_ dnat.
2. iptables-save рулит и объясню почеу -- ну например потому что ваше -j allowed не говорит ровным счётом не о чём.
> можно у вас спросить?
> 1. зачем делать сначала dnat а потом snat ? вы делаете маппинг
> 1-1 без conntrack'а? -- в общем случае в данном случае необходи
> _только_ dnat.*/ роутинг [обратный] не необходим
*/ органичения по ip клиента на цели м.б.другиенет, никакого отношения к случаю
> 2. iptables-save рулит и объясню почеу -- ну например потому что ваше
> -j allowed не говорит ровным счётом не о чём.да, кого это волнует
> Помогите пожалуйста с проблемой проброса портов.
> Есть iptables на Debian. На сервере 2 сетевые карты.Смутно догадываюсь, что на сервере ещё и 2 сети. При этом DLINK - в одной сети, а камеры - в другой. Вопрос - а зачем? пока отложим.
Похоже, что на сервере запрещён forwarding. Разреши его:
# sysctl -w net.ipv4.ip_forward=1Выключи firewall на Debian (зачем он там вообще нужен?), воткнись в DLINK каким-нибудь лаптопом, доберись из сети 192.168.9.0 до камеры в сети 192.168.10.0.
# ping 192.168.10.54На ночь почитай http://linuxpoison.blogspot.com/2008/01/how-to-enable-ip-for...
>> Помогите пожалуйста с проблемой проброса портов.
>> Есть iptables на Debian. На сервере 2 сетевые карты.
> Смутно догадываюсь, что на сервере ещё и 2 сети. При этом DLINK
> - в одной сети, а камеры - в другой. Вопрос -
> а зачем? пока отложим.А! Кстати, сли оба ip на одном физическом ифейсе, возможны более другие объяснения "не работаит"-а.
> На ночь почитай http://linuxpoison.blogspot.com/2008/01/how-to-enable-ip-for...
> А! Кстати, сли оба ip на одном физическом ифейсе, возможны более другие
> объяснения "не работаит"-а.Полагаю, что он всё-таки поставил default route в камерах и на сервере. Хотя и не задумался, что маршрутизация - процесс под его управлением, а не магическая фича ядра.
Кстати да, DLINK'у придётся объяснять, где искать сеть 192.168.10.0.
>[оверквотинг удален]
> Похоже, что на сервере запрещён forwarding. Разреши его:
>
> # sysctl -w net.ipv4.ip_forward=1
>
> Выключи firewall на Debian (зачем он там вообще нужен?), воткнись в DLINK
> каким-нибудь лаптопом, доберись из сети 192.168.9.0 до камеры в сети 192.168.10.0.
>
> # ping 192.168.10.54
>
> На ночь почитай http://linuxpoison.blogspot.com/2008/01/how-to-enable-ip-for...Сразу оговорюсь, что выражение "почитай на ночь" для меня. Я пока слаб в Linux.
А что такого в том, что имеется firewall на Debian. Что в этом такого.
И на сколько я знаю если используется 2 сетевых интерфейса, то Linux не может работать с ними если они в одной подсети, или я ошибаюсь? К тому же iptables как минимум делает squid прозрачным.
> Сразу оговорюсь, что выражение "почитай на ночь" для меня. Я пока слаб
> в Linux.Дело не в Linux, тебе нужно почитать про IPv4 вообще и про маршрутизацию в частности.
Прежде, чем крутить с помощью src или dst адреса пакетов, нужно разобраться, куда их девать. Это задача для маршрутизации. И если ты хочешь делать forwarding на уровне IP, то его нужно включить.
> А что такого в том, что имеется firewall на Debian. Что в
> этом такого.Ну, например, то, что всем остаётся только догадываться, что сервер у тебя - офисный и что на нём же сидят squid и, похоже, DMZ web-сервер. И между делом ты хочешь показать на нём ещё и картинку с камер слежения из внутренней сети.
В этом случае iptables нужен, но не для того, чтобы рулить маршрутизацией.