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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Доступ к внутреннему серверу снаружи и изнутри  (Прочитано 1618 раз)

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

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Добрый день!

Настраиваю доступ к RDP-серверу:

# Переменные

# Команда iptables:
IPT="/sbin/iptables"

# WAN:
WAN="eth0"
INETIP="xxx"   
InetMask="XX"

# LAN:         
LAN="eth1"      
LANIP="yyy"   
LANnet="yyy/YY"   
LanMask="YY"

# Основные порты, которые будем разрешать/пробрасывать:
RDPl="3389"  #RDP on termserv
RDPw="44900" #RDP from WAN

# Серваки, доступ к которым открыт снаружи:
Serv1C="192.168.2.3"    #Терминальный сервер для 1С

# Правила, относящиеся к теримналке:

# Форвард пакетов на РДП
$IPT -t nat -A PREROUTING -i $WAN -p tcp -d $INETIP --dport $RDPw -j DNAT --to $Serv1C:$RDPl
$IPT -A FORWARD -p tcp -i $WAN -d $Serv1C --dport $RDPl -j ACCEPT

# Конец iptables

Работает доступ снаружи.
Доступ изнутри работает только по локальному адресу с локальным портом.
Доступ изнутри по связке xxx:44900 не работает.

То есть изнутри по внешнему адресу с внешним портом на терминалку не достучаться.

Как его настроить?

1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Ваш случай отдельно рассмотрен в iptables tutorial.

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Ваш случай отдельно рассмотрен в iptables tutorial.

Спасибо. До этого читал man'ы и примеры. С tutorial'ом не сталкивался.

Почитаю.

Пользователь решил продолжить мысль 13 Сентября 2012, 00:13:17:
Добавил правило в iptables (выделено)

(Нажмите, чтобы показать/скрыть)

Не работает изнутри. Снаружи работает

Не заработало =(
« Последнее редактирование: 13 Сентября 2012, 00:13:17 от olegik-hp »
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Показывайте iptables-save
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Показывайте iptables-save

Я понял, просто тогда было поздно уже.

Выкладываю:
Переменные:
(Нажмите, чтобы показать/скрыть)
iptables-save
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 13 Сентября 2012, 09:42:27 от olegik-hp »
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Просили показать iptables-save, а не креативные вариации на тему.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Просили показать iptables-save, а не креативные вариации на тему.

Слушай, по сути я могу сам править эти таблицы с вывода, а потом воткнуть их восстановить с iptables-restore?

Спасибо. Сейчас покурю man'ы и tutorial'ы.

Можешь помочь ссылкой, если есть под рукой (google не предлагать, сам иду туда)?

Вопрос по поводу структуры файла:
#комментарий
*nat # это название таблицы
:PREROUTING # название цепочки
-A PREROUTING -p tcp -m tcp --dport 1234 -j REDIRECT --to-ports 12345 #действие наподобие команды iptables -A PREROUTING ...
COMMIT #конец таблицы или цепочки?

Я правильно понимаю?

« Последнее редактирование: 13 Сентября 2012, 10:15:11 от olegik-hp »
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Там все те же правила, что ты вводишь от руки.
Разница только в том, как именно правила загружаются.
Скриптом ты загоняешь правила по одному, iptables-restore загружает правила единым массивом, заменяя все/любые правила, попавшиеся под горячую руку.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Повторюсь:

Вопрос по поводу структуры файла:
#комментарий
*nat # это название таблицы
:PREROUTING # название цепочки
-A PREROUTING -p tcp -m tcp --dport 1234 -j REDIRECT --to-ports 12345 #действие наподобие команды iptables -A PREROUTING ...
COMMIT #конец таблицы или цепочки?

Я правильно понимаю?
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Да, только
:названиеЦепочки действиеПоУмолчанию [счётчик:счётчик]
В общем, пробуй на виртуалке, пока не набьёшь руку.
когда правила заработают, как тебе надо - переноси на реальное железо.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн olegik-hp

  • Автор темы
  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: Доступ к внутреннему серверу снаружи и изнутри
« Ответ #10 : 13 Сентября 2012, 11:18:07 »
Да, только
:названиеЦепочки действиеПоУмолчанию [счётчик:счётчик]
В общем, пробуй на виртуалке, пока не набьёшь руку.
когда правила заработают, как тебе надо - переноси на реальное железо.

Это неинтересно. =)

У меня есть скрипт, который описывает действующие правила. Есть iptables-save, который содержит, опять же, действующие правила.

Я правлю этот save, делаю restore, если что-то не так, то меняю обратно.

Да, по структуре файла:

#комментарий
*nat # это название таблицы
:PREROUTING # название цепочки
#цепочки [счетчик:счетчик]
-A PREROUTING -p tcp -m tcp --dport 1234 -j REDIRECT --to-ports 12345 #действие наподобие команды iptables -A PREROUTING ...
#остальные команды
COMMIT #конец таблицы
Получается так?

Пользователь решил продолжить мысль 13 Сентября 2012, 12:04:46:
Сделал.

Ошибка была в этом правиле:
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

Надо:
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

Спасибо AnrDaemon

Да, и по поводу iptables-save/restore:

iptables-save очень полезен для наглядности, но iptables.sh удобен для гибкости.
Другими словами:
Правила забивать лучше со скриптом, так как удобнее переносить, используя переменные.

Но проверять их проще все же с конфигом save.

« Последнее редактирование: 13 Сентября 2012, 12:04:46 от olegik-hp »
1) Лучшая помощь -- Линк на доку.
2) Главное -- не просто сделать, а понять как.
3) Просто пару слов, для понимания -- лучший ответ.

 

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