[MLUG] radmin+iptables

Victor Sinyawsky victor на avprint.ru
Пт Май 13 12:15:03 MSD 2005


*This message was transferred with a trial version of CommuniGate(tm) Pro*
On Thu, May 12, 2005 at 09:21:54PM +0400, Salavat Yarmukhametov wrote:
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
> 
> Не выходит чаша :(
> Есть: машина-шлюз с eth1=inet-IP и eth0=local_IP=192.168.2.3
> в локалке есть машина с radmin'ом с IP=192.168.2.34
> нужно дать к этой машине доступ снаружи через radmin
> 
> на машине-шлюзе сделал:
> echo 1 > /proc/sys/net/ipv4/conf/all/accept_redirects
> echo 1 > /proc/sys/net/ipv4/ip_forward
> 
> iptables:
> ################################################################
> #!/bin/sh
> iptables -F
> iptables -X
> iptables -A INPUT -i eth1 -p TCP -d inet-IP --dport 4899 -s 217.15.150.160 --sport 4899 -m state --state ESTABLISHED,RELATED -j ACCEPT
Не вдаваясь даже глубоко в смысл написанного хочу заметить, что это правило не будет истинно
_никогда_, поскольку в общем случае dport != sport.

Представим, что в сети есть n хостов (R1..Rn), слушающих порт, ну пусть для определенности, radmin -- 4899.
Хост А устанавливает связь с хостом R1 на порт 4899. 
После этого он же (A) соединяется еще и с хостом R2,R3,..,Rn тоже на порт 4899. 
Как он это сделает (_а ведь делает же!), если его исходящий порт уже занят?
А так: исходящий порт выбирается системой (произвольно или еще как - не
имеет сейчас значения), но не равный порту назначения.

А вообще настоятельно рекомендую все же запустить в своей сети какой-нибудь
анализатор траффика (я предпочитаю ethereal) и посмотреть все наглядно:
кто, куда, когда, на/с каких портов при/у ходит. Но при отключенном
(или разрешающем) правиле iptables.


> iptables -t nat -A PREROUTING -p TCP -s 217.15.150.160 -d inet-IP --dport 4899 -j DNAT --to-destination 192.168.2.34:4899
> iptables -A OUTPUT -o inet-IP -p TCP -s 192.168.2.34 --sport 4899 -d 217.15.150.160 --dport 4899 -j ACCEPT
> iptables -A FORWARD -p TCP -i inet-IP -o 192.168.2.3 -d 192.168.2.34 --dport 4899 -s 217.15.150.160 --sport 4899 -j ACCEPT
> ######################################################################
> 
> 217.15.150.160 - IP dialup-соединения radmin-клиента на момент проверки.
> 
> Подскажите - чего я забыл?


-- 
С уважением, Виктор Синявский



Подробная информация о списке рассылки MLUG