Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: пробросить 3389 по iptables  (Прочитано 2089 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
пробросить 3389 по iptables
« : 06 Июль 2012, 09:26:11 »
в сети (192.168.192.0/24) есть
сервер Ubuntu 10.04 (eth0 - локалка 192.168.192.2 и eth1 192.168.1.251 шлюз 192.168.1.1 на нем висит ADSL модем)
Win Server 192.168.192.1
Уже в сетку напрямую ходят два компа с 192.168.192.5 и 6

Нужно пропустить удаленный стол к Win серверу
уже есть
sudo su -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
*nat
:PREROUTING ACCEPT [265:16550]
:POSTROUTING ACCEPT [394:25329]
:OUTPUT ACCEPT [384:24687]
-A POSTROUTING -s 192.168.192.5/32 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.192.6/32 -o eth1 -j MASQUERADE
COMMIT
# Completed on Thu Jul  5 19:53:52 2012
# Generated by iptables-save v1.4.4 on Thu Jul  5 19:53:52 2012
*filter
:INPUT ACCEPT [4814:2416998]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [115473:74654942]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT

Пробую
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.192.1:3389
iptables -t filter -A FORWARD -m state --state NEW -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.192.1 --dport 3389 -j SNAT --to-source 192.168.1.251

И подключение к удаленному столу молчит, если подключаю модем напрямую к win серверу все работает

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #1 : 06 Июль 2012, 10:35:32 »
при
Цитировать
:INPUT ACCEPT [4814:2416998]
:FORWARD ACCEPT [0:0]
эти правила:
Цитировать
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
в принципе не нужны
оставить только
Цитировать
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.192.1:3389
маскарад ты для
Цитировать
-A POSTROUTING -s 192.168.192.5/32 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.192.6/32 -o eth1 -j MASQUERADE
конечно сделал, а что для вин сервера он по твоему не нужен ?
либо добавить -A POSTROUTING -s 192.168.192.1/32 -o eth1 -j MASQUERADEлибо  общий маскарад для всех.

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #2 : 06 Июль 2012, 13:39:15 »
да но если я пропишу
sudo iptables -t nat -A POSTROUTING -o eth1 -s 192.168.192.1 -j MASQUERADE

Я выпущу все с машины, а мне нужно только 3389. Что для этого только добавить -p tcp --dport 3389 в команду будет достаточно?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #3 : 06 Июль 2012, 13:45:25 »
добавьте -s 192.168.192.1
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #4 : 06 Июль 2012, 13:53:06 »
добавьте -s 192.168.192.1
Он имел ввиду, что не надо на 192.168.192.1 открывать все порты.

да но если я пропишу
sudo iptables -t nat -A POSTROUTING -o eth1 -s 192.168.192.1 -j MASQUERADE

Я выпущу все с машины, а мне нужно только 3389. Что для этого только добавить -p tcp --dport 3389 в команду будет достаточно?
Допиши --sport 3389

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #5 : 06 Июль 2012, 14:00:42 »
Если на шлюзе не пробрасывать, то ничего не откроется.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #6 : 06 Июль 2012, 14:09:44 »
fisher74 На шлюзе (модем D-Link 2500) у меня прописано в NAT пропускать 3389 на Ubuntu Server(eth1 192.168.1.251). Мне xeon_greg верно подсказал, все заработало. Но я хочу пропустить/выпустить ТОЛЬКО 3389 а не все.

sudo iptables -t nat -A POSTROUTING -o eth1 -s 192.168.192.1 --sport 3389 -j MASQUERADE

Решит мою проблему? -p tcp нужно?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #7 : 06 Июль 2012, 14:18:20 »
Вы видимо читаете только то, что Вам хочется прочитать. Как у Вас откроется не проброшенный на роутере порт?

-p tcp - было бы интересно услышать Ваше мнение?
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #8 : 06 Июль 2012, 14:24:45 »
Вы видимо читаете только то, что Вам хочется прочитать. Как у Вас откроется не проброшенный на роутере порт?

-p tcp - было бы интересно услышать Ваше мнение?

Если не трудно можете более подробно объяснить что вы имеете ввиду. Что вы понимаете под роутером, если Ubuntu сервер, то я как раз это и пытаюсь сделать.

Цитировать
-p tcp - было бы интересно услышать Ваше мнение?

Что этим вы хотите сказать?

Опыта у меня совсем немного многих намеков понять не смогу.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #9 : 06 Июль 2012, 14:37:30 »
Что подробнее?
Пример: есть колодец с водой(интернет), стоит насос (мопед), лунки с растениями. Для того чтобы полить, мы берём шланг и пробрасываем его до лунки (портфовард модема). Вода льётся и попадает только на одно растение. Есть круговорот воды в природе и вода обратно попадает в колодец со всего огорода (макарадинг). Так вот если шлангом не прокинуть на другую лунку (порт), то другие политы не будут.
пример кривоватый, но ...

Про протокол - тут нужно хоть чуть-чуть узнать про ip, что есть tcp и udp.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #10 : 06 Июль 2012, 14:47:45 »
ув. Фишер на данный момент мне товарищ xeon_greg указал на мою ошибку. Проблема решена я получаю доступ по удаленному столу к Win серверу. Но с самого вин сервера получил прямй доступ в и-нет мне это не нужно.

http://www.opennet.ru/docs/RUS/iptables читал. Сюда пришел за конкретной помощью. Если вы хотите потешить свое эго примерами на яблоках, очередному новичку. Очень прошу вас это делать в другом месте.

Если удаленному столу помимо tcp нужен еще udp так и скажите.

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #11 : 06 Июль 2012, 14:53:01 »
ну так и укажи что маскарад только по определенному порту
-A POSTROUTING -s 192.168.192.1/32 -p tcp --sport 3389 -o eth1 -j MASQUERADEasmile правильно тебе подсказал

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #12 : 06 Июль 2012, 14:54:52 »
Минуту. Вы не говорили, что сервер не должен иметь доступ в интернет. Мало того, в правилах чётко описано
*filter
-A FORWARD -i eth0 -o eth1 -j ACCEPT
что как бы подразумевает...
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #13 : 06 Июль 2012, 15:01:31 »
там даже :FORWARD ACCEPT [0:0] многое подразумевает, но конечно же правильно было бы фильтровать ненужный трафик еще до ната, ну поскольку точных условий поставлено изначально не было, подправили то, что было

Оффлайн Borr

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: пробросить 3389 по iptables
« Ответ #14 : 06 Июль 2012, 15:01:54 »
Огромное спасибо xeon_greg

fisher74

Да в самом заглавном посте не говорил все верно. Но прежде еще как мы с вами стали спорить сказал, что все остальное Win серверу нужно закрыть
Цитировать
-A FORWARD -i eth0 -o eth1 -j ACCEPT

одного этого правила недостаточно чтобы все машины ходили в и-нет и потом xeon_greg уже сказал, что оно лишнее (я еще не пробовал).

И все же интересно почку у меня не получилось без MASQUERADE

Цитировать
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.192.1:3389
iptables -t filter -A FORWARD -m state --state NEW -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.192.1 --dport 3389 -j SNAT --to-source 192.168.1.251 # или тут сам белый IP указывать надо


Вопрос можно считать снятым

Пользователь решил продолжить мысль 06 Июль 2012, 15:04:20:
там даже :FORWARD ACCEPT [0:0] многое подразумевает, но конечно же правильно было бы фильтровать ненужный трафик еще до ната, ну поскольку точных условий поставлено изначально не было, подправили то, что было


Просто я был уже в отчаянии разрешил все подряд. За все замечания буду благодарен.

FORWARD что запретить совсем нужно?
« Последнее редактирование: 06 Июль 2012, 15:07:06 от Borr »

 

Страница сгенерирована за 0.093 секунд. Запросов: 24.