LINUX.ORG.RU
ФорумAdmin

маршруты к Terminal server


0

0

объясняю ситуацию: есть terminal server на винде, он в локальной сети (ip 192.168.x.x). в этой же LAN есть машина с выходом в интернет, на ней две сетевые карты (ip1 80.67.x.x ip2 192.168.x.x), но она не являеться шлюзом для всех остальных машин в сети. Надо подключаться к серверу терминалов из др. города с ip 217.106.x.x.
Таким образом если я не использую NAT на машине 80.67.x.x
(iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE, где eth1 - локальный интерфейс), то не проходит даже пинг. если ставлю правило - то пинг есть, но коннектиться всё равно не хочет, говорит "возможно проблемы с сетью, проверьте соединение"

ТУТ ПОДУМАЛ: может сервер терминалов пытаеться помимо на ответ клиентам сам инициализировать какие-то соединения и идёт на шлюз по умолчанию?

P.S. если на terminal server'e прописать маршрут до клиента через выделенный нам не-шлюз, то всё ХОРОШО!

можно ли обойтись без прописания маршрутов????

anonymous

По идее должны быть два правила:

iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.терминал.сервер

iptables -t nat -A POSTROUTING -o eth1 --dport 3389 -j SNAT --to-source 192.168.ip.eth1

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

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

On 17 May 2005 13:43:46 +0300, anonymous <anonymous@linux.org.ru> wrote:

> попробовал но всё то же :(( если чё придумаю напишу..........
Блин, я сейчас с той же проблемой сижу. Перепробовал почти всевозможные
способы в iptables. Не работает :((((
Если решишь эту проблему - напиши сюда, пожалуйста...

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

> попробовал но всё то же
> Перепробовал почти всевозможные способы в iptables. Не работает :((((
Что значит не работает, почему не работает ??? Причину искать не пробовали ?

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

вообще у меня туннелем связаны две LAN, а на terminal servere прописано, что все запросы в сеть клиентов отправлять через выделенную мне машину. это - работает. проблема в том, что сейчас появилась необходимость подключить клиента с динамическим ip :((
если решу - напишу!

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

(это SteelKey)
Вот-вот, проблема именно с динамическим IP. У меня в сети, также еще стоит NetBSD-сервер. Так вот, все способы, которые я пробовал с iptables по форвардингу порта 22 с этого сервера наружу работают. Делаю то же самое с windows 2003 TS, только меняю порт (на 3389) и адрес локальной машины. Ни правило типа:

iptables -t nat -A PREROUTING -p tcp -d внешний_ip --dport порт -j DNAT --to-destination внутренний_ip:порт
iptables -A FORWARD -i интерфейс -d внутренний_ip -p tcp --dport порт -j ACCEPT

(как по доке)

ни

iptables -t nat -A PREROUTING -d EXT_IP -i EXT_IF -p tcp -m tcp --dport 8101 -j DNAT -to-destination INT_IP:PORT
iptables -t nat -A POSTROUTING -d INT_IP -o EXT_IF -p tcp -m tcp --dport 80 -j SNAT --to-source EXT_IP
iptables -A FORWARD -d INT_IP -p tcp -m tcp --dport PORT -m state --state NEW -j ACCEPT

НЕ РАБОТАЮТ (а с ssh работают). Причем это относится только к Terminal Services, т.к. ftp-порт с этой машины прекрасно форвардится.

Теперь, внимание - магия. Принес сегодня на работу Dlink D-604 firewall. Подключил к нему W2003, поставил внутреннюю подсеть - DLINK 10.0.0.1, W2003 - 10.0.0.2. Пробросил в настройках DLink'a порт 3389 наружу в локалку, а сам DLINK с помощью правил выше (на шлюзе) - в интернет. Подключаюсь. Работает. Как???

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

(опять SteelKey). Конечно же правила не должны содержать портов 8101 и 80 ;)). Просто второй способ я сейчас скопировал с linuxquestions.org. На сервере, применяя его я конечно же менял номера портов ;). Но сколько себя помню, всегда юзал способ 1 и работало.

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