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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Настройка шлюза  (Прочитано 814 раз)

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

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Настройка шлюза
« : 26 Июнь 2012, 16:55:22 »
Всем привет. Заранее прошу не пинать сильно ногами, а просто помочь.
Задача стоит как я понимаю простая, но не могу реализовать.
Есть шлюз, на нем нужно настроить iptables так чтоб входящий инет на порт eth1 работал на компах сети висящих на порту eth0. 80-й порт пробрасывался на локальную машину, а она в свою очередь видела входящее соединение не как с порта 192,168,0,1, а видела реальный ип подключения. сейчас инет ходит, порты проброшены, но локальный сервер видит вход с 192,168,0,1 а не х.х.х.х, вот конфиг:

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

И если есть у кого какие нибудь предложения по улучшению конфига фаервола, очень буду благодарен.
« Последнее редактирование: 26 Июнь 2012, 16:57:00 от shusha »
Я хороший парень )

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 334
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #1 : 26 Июнь 2012, 17:12:16 »
Вот так попробуйте:

удалить правило
iptables -D PREROUTING -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150добавить правило
iptables -A PREROUTING -s xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150
удалить
iptables -D OUTPUT -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150
добавить
iptables -A OUTPUT -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-source 192.168.0.150

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #2 : 26 Июнь 2012, 17:38:16 »
Теперь вообще не пашет ) вернул еще варианты есть?
Я хороший парень )

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 334
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #3 : 26 Июнь 2012, 17:41:45 »
Да это я неправильно понял.
Можно в цепочке PREROUTING вместо -d ip указать непосредственно -i eth1 он же внешний т.е. получится

iptables -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150И в форварде разрешить DNAT
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
« Последнее редактирование: 26 Июнь 2012, 17:43:53 от ivsatel »

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #4 : 26 Июнь 2012, 17:53:09 »
нечего не изменилось. определяет входящее соединение как мой внешний ип.
Я хороший парень )

Оффлайн tagilchanin

  • Активист
  • *
  • Сообщений: 658
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #5 : 26 Июнь 2012, 18:10:43 »
Всем привет. Заранее прошу не пинать сильно ногами, а просто помочь.
Задача стоит как я понимаю простая, но не могу реализовать.
Есть шлюз, на нем нужно настроить iptables так чтоб входящий инет на порт eth1 работал на компах сети висящих на порту eth0. 80-й порт пробрасывался на локальную машину, а она в свою очередь видела входящее соединение не как с порта 192,168,0,1, а видела реальный ип подключения. сейчас инет ходит, порты проброшены, но локальный сервер видит вход с 192,168,0,1 а не х.х.х.х, вот конфиг:

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

И если есть у кого какие нибудь предложения по улучшению конфига фаервола, очень буду благодарен.
Объясни что это значит 80-й порт пробрасывался на локальную машину, а она в свою очередь видела входящее соединение не как с порта 192,168,0,1, а видела реальный ип подключения.
попробуй убрать эту строки:
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -d 192.168.0.150/32 -p tcp -m tcp --dport 80 -j SNAT --to-source xxx.xxx.xxx.xxx
и добавь: -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source хх.хх.хх.хх
Выбери профессию, которую ты любишь, - и тебе не придется работать ни дня в твоей жизни. (Конфуций)

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 334
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #6 : 26 Июнь 2012, 19:38:50 »
Еще можно убрать:
-A OUTPUT -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150 Т.к. транзит там не идет.
И на сколько я понял, тут не порт нужно пробросить а машину. Наверно так просто это не получится.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #7 : 26 Июнь 2012, 23:18:53 »
Эхххх....
Исправляйте и пользуйтесь на здоровье
Цитировать
*nat
:PREROUTING ACCEPT [33636:1753371]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [479:33791]
-A PREROUTING -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150
-A POSTROUTING -d 192.168.0.150/32 -p tcp -m tcp --dport 80 -j SNAT --to-source xxx.xxx.xxx.xxx
-A POSTROUTING -o eth1 -j MASQUERADE
-A OUTPUT -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150
....
*filter
:INPUT DROP [217603:44158658]
:FORWARD DROP [1047:61556]
-A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT
...
остальное оставьте как есть

ЗЫ Последние три предложенные строки не связаны с вопросом - просто для усиления безопасности шлюза.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #8 : 27 Июнь 2012, 10:28:01 »
теперь сервак вообще не доступен. (
Я хороший парень )

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #9 : 27 Июнь 2012, 11:05:06 »
так сначала надо было разрешить INPUT из локальной сети (последняя строка), а уж потом выставлять дефолтный DROP.
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #10 : 27 Июнь 2012, 11:50:21 »
Жестокий рестарт сервера не помог, буду ждать вечера как доберусь до него.  :'(
Я хороший парень )

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13750
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #11 : 27 Июнь 2012, 12:12:15 »
А Вы как вносили правила-то?
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 334
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #12 : 27 Июнь 2012, 13:39:15 »
fisher74,
Вопрос по теме.
Вот эти правила:
-A PREROUTING -d xxx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.150
-A POSTROUTING -o eth1 -j MASQUERADE
Они ведь все равно будут выдавать на локальной машине адрес шлюза, а не адрес машины из интернета?
Т.е
Локальный адрес шлюза = 1
Внешний адрес шлюза = 2
Адрес клиента из внешней сети = 3

Имею в виду = 1 или = 2 но никак не = 3

Это верно?

Оффлайн shusha

  • Автор темы
  • Любитель
  • *
  • Сообщений: 52
  • счука
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #13 : 27 Июнь 2012, 14:04:27 »
А Вы как вносили правила-то?
Правил iptables.up.rules и поднимал iptables restore
Я хороший парень )

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1706
  • חתול המדען
    • Просмотр профиля
Re: Настройка шлюза
« Ответ #14 : 27 Июнь 2012, 18:58:56 »
Правил iptables.up.rules и поднимал iptables restore
iptables.up.rules - не правится.
Код: (code) [Выделить]
iptables-restore < /path/to/iptables.up.rules
iptables $(нужные действия)
iptables-save > /path/to/iptables.up.rules
Debian GNU\Linux 7.11; ICH7; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686)
Ubuntu GNU\Linux 18.04; MCP61; forcedeth; 4.15.0-20-generic (x86_64)

 

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