Перейти до

Iptables и доступ к локальному "реальному" адресу...подскажите


Рекомендованные сообщения

Доброго времени суток!
Есть шлюз с Debian. Только настроил...начал вникать в суть iptables. Везде на сайтах с примерами в статьях...есть проброс определенных портов на локальные ресурсы через внешний адрес шлюза.
У меня есть прописанные на локальном интерфейсе eth1 реальные внешние адреса 92.3хх.ххх.0/24, не пойму как дать им доступ в Мир через шлюз, eth0 которого смотрит внешним адресом в инет. 
Делал так:
-A FORWARD -s 92.3хх.ххх.0/24 -j ACCEPT
И разрешал доступ к примеру к веб-серверу на адрес:
-A FORWARD -s 92.3хх.ххх.3/24 -j ACCEPT
Но...что-то не ходит никуда(
Не могли бы Вы подсказать? Заранее спасибо)
 

Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток!

Есть шлюз с Debian. Только настроил...начал вникать в суть iptables. Везде на сайтах с примерами в статьях...есть проброс определенных портов на локальные ресурсы через внешний адрес шлюза.

У меня есть прописанные на локальном интерфейсе eth1 реальные внешние адреса 92.3хх.ххх.0/24, не пойму как дать им доступ в Мир через шлюз, eth0 которого смотрит внешним адресом в инет. 

Делал так:

-A FORWARD -s 92.3хх.ххх.0/24 -j ACCEPT

И разрешал доступ к примеру к веб-серверу на адрес:

-A FORWARD -s 92.3хх.ххх.3/24 -j ACCEPT

Но...что-то не ходит никуда(

Не могли бы Вы подсказать? Заранее спасибо)

 

В вашем случае только костылями, делать nat 1 к 1, либо arp proxy. По взрослому пробрасываются роуты вашей подсети реальников, через /30 сетку.

Ссылка на сообщение
Поделиться на других сайтах

ПРоброс определенных портов, - это DNAT И ваша сеть /24 тут не при чем.

Если у вас есть блок белых адресов, то вероятно вам ее ктото выделил? Если ее ктото выделил, то она вероятно прописана в райпе? след. можно строить БГП, или пусть ваш аплинк на вас напишет роут, а своим бгп анонсирует ваш префикс.

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

Ссылка на сообщение
Поделиться на других сайтах

Весь исходящий, локально сгенерированный траффик проходит через цепочкуOUTPUT, весь входящий траффик, адресованный машине, проходит через цепочкуINPUT, и весь маршрутизируемый траффик цепочку FORWARD.

 

Укажите в команде цепочку OUTPUT

Ссылка на сообщение
Поделиться на других сайтах

киньте весь iptables

 

если у аплинка роут прописан (через ваш внешний адрес )попробуйте 

 

-A FORWARD -s 92.3хх.ххх.0/24 -j ACCEPT

-A FORWARD -d 92.3хх.ххх.0/24 -j ACCEPT

 

если выделено просто Вам сеткой попробуй включить proxy_arp на внешнем интерфейсе.


покажите tcpdump

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

В вашем случае только костылями, делать nat 1 к 1, либо arp proxy. По взрослому пробрасываются роуты вашей подсети реальников, через /30 сетку.

Посмотрел на соседнем шлюзе, там сделано так:

адрес шлюза - 64.хх.хх.хх

адрес веб-сервера - 92.3хх.ххх.3

На веб-сервере:

-P INPUT ACCEPT

-P FORWARD DROP

-P OUTPUT ACCEPT

-A FORWARD -d 64.хх.хх.хх/32 -j ACCEPT

-A FORWARD -d 92.3хх.ххх.0/24 -j ACCEPT

На шлюзе:

 

iptables -P INPUT ACCEPT

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A FORWARD -s 92.3хх.ххх.3/32 -j ACCEPT

iptables -A FORWARD -s 92.3хх.ххх.0/24 -j ACCEPT

iptables -A FORWARD -d 92.3хх.ххх.0/24 -j ACCEPT

 

Запущено-ли там arp пока не могу посмотреть...

то она вероятно прописана в райпе? след. можно строить БГП, или пусть ваш аплинк на вас напишет роут, а своим бгп анонсирует ваш префикс.

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

 

 

С bgp еще не ознакамливался, читаю сейчас, что к чему.

Відредаговано REV
Ссылка на сообщение
Поделиться на других сайтах

Гденибудь отсюда http://ping.eu/ сделайте трейс на какойнить свой адрес. Если ваша сеть не анонсируется, то трейс умрет гдето во Франкфурте.

Кажись так и есть...

 

post-29850-0-32662400-1398364007_thumb.png

Спасибо, что откликнулись...сейчас читаю, то, что Вы и тов. выше рекомендовали...завтра попробую варианты)

post-29850-0-32662400-1398364007_thumb.png

Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток!

Есть шлюз с Debian. Только настроил...начал вникать в суть iptables. Везде на сайтах с примерами в статьях...есть проброс определенных портов на локальные ресурсы через внешний адрес шлюза.

У меня есть прописанные на локальном интерфейсе eth1 реальные внешние адреса 92.3хх.ххх.0/24, не пойму как дать им доступ в Мир через шлюз, eth0 которого смотрит внешним адресом в инет. 

Делал так:

-A FORWARD -s 92.3хх.ххх.0/24 -j ACCEPT

И разрешал доступ к примеру к веб-серверу на адрес:

-A FORWARD -s 92.3хх.ххх.3/24 -j ACCEPT

Но...что-то не ходит никуда(

Не могли бы Вы подсказать? Заранее спасибо)

 

 

У вас есть сетка ваших реальников вида 1.2.3.0/24 к примеру. В сторону вашего провайдера например смотрит интерфейс eth0, вы не должны вешать на него алиасы реальников, никаких вообще.

 

Должно быть так:

Ваши реальники 1.2.3.0/24.

Провайдер вам выдает совершенно другую /30 сетку, например 10.10.10.10/30, через которую он пробросить ваши реальники. Прописываете на eth0 ip - 10.10.10.10, шлюз 10.10.10.9. С вашей стороны все.

Далее провайдер добавляет маршрут для ваших реальников, через 10.10.10.10/30 сетку.

 

Пользователям выдаете любой 1.2.3.0/24, и на роутере разрешаете FORWARD, все.

 

Сам с этим недавно столкнулся. У меня на интерфейс в сторону провайдера видело куча алиасов, и весь мой пул ip, висел алиасом. это не правильно. Мне выдали /30 сетку, я на внешнем ip прописал только один ip, и убрал все алиасы. После этого все заработало по человечески.

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

О, тут нашел...
Помогите понять, через "как" оно реализовано.
На работающем шлюзе прописаны след. правила:

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A FORWARD -s 92.ххх.ххх.3/32 -j ACCEPT
iptables -A FORWARD -o eth0 -p tcp -m tcp --dport 25 -j DROP
iptables -A FORWARD -o eth0 -p udp -m udp --dport 25 -j DROP
iptables -A FORWARD -s 192.168.20.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.20.0/24 -j ACCEPT
iptables -A FORWARD -s 92.ххх.ххх.0/24 -j ACCEPT
iptables -A FORWARD -d 92.ххх.ххх.0/24 -j ACCEPT
iptables -A FORWARD -s 172.16.0.0/16 -j ACCEPT
iptables -A FORWARD -d 172.16.0.0/16 -j ACCEPT
На веб сервере:
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-A FORWARD -d 192.168.20.0/24 -j ACCEPT
-A FORWARD -d 64.ххx.ххx.ххx/32 -j ACCEPT
-A FORWARD -d 92.ххх.ххх.0/24 -j ACCEPT
Так все работает, но если я ставлю вместо того шлюза...другой настроенный с такими же таблицами и параметрами - не ходит никуда, а в пределах друг-друга есть пинги, но из инета нет возможности зайти на веб-сервер.(
Проверил arp-proxy не используется...как определить принцип по которому работает...сложно - открыл для себя Мир Дебиана на прошлой неделе. Поэтому такие вопросы, извините...
 
 
Відредаговано REV
Ссылка на сообщение
Поделиться на других сайтах

sysctl -a | grep net.ipv4.ip_forward

Если будет "0"

 

 

 

исправьте в файлике 

/etc/sysctl.conf

 

параметр

net.ipv4.ip_forward=1

 

потом выполните команду

sysctl -p

или перезагрузитесь.

Відредаговано maxcec
Ссылка на сообщение
Поделиться на других сайтах

Должно быть так:

Ваши реальники 1.2.3.0/24.

Провайдер вам выдает совершенно другую /30 сетку, например 10.10.10.10/30, через которую он пробросить ваши реальники. Прописываете на eth0 ip - 10.10.10.10, шлюз 10.10.10.9. С вашей стороны все.

Далее провайдер добавляет маршрут для ваших реальников, через 10.10.10.10/30 сетку.

 

Пользователям выдаете любой 1.2.3.0/24, и на роутере разрешаете FORWARD, все.

Не все, если эта сетка не анонсится то шо вы там у ся не пишите нифига пахать не будет. А у ТС как раз такая ситуевина, нету роутов на сеть
Ссылка на сообщение
Поделиться на других сайтах

net.ipv4.ip_forward=1

 

потом выполните команду

sysctl -p

или перезагрузитесь.

 

Это есть уже по любому...он пропускает натом через себя еще 10 компов в инет.

На счет роутов...все есть. Пока нашел, что на старом серваке стоит все-таки quagga.

Пробую с bgp...отпишусь.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від smartlid
      Есть такая проблема, сделал ipip туннель и перенаправляю трафик с внешнего айпи на внутренний, для этого используется nat + prerouting, вообщем обычный фовардинг. И есть synproxy который убирает с контрака syn, поэтому перенаправление трафика ломается. Вот правила:
      iptables -t raw -A PREROUTING -p tcp -m tcp --syn -j CT --notrack iptables -A INPUT -p tcp -m tcp -m conntrack --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460 iptables -A INPUT -m conntrack --ctstate INVALID -j DROP iptables -t nat -D PREROUTING -p tcp -m tcp -d $wan_addr --dport $dest_port_wan -j DNAT --to-destination $dest_addr_lan:$dest_port_lan iptables -D FORWARD -m state -p tcp -d $dest_addr_lan --dport $dest_port_lan --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -t nat -D POSTROUTING -p tcp -m tcp -s $dest_addr_lan --sport $dest_port_lan -j SNAT --to-source $wan_addr Как это заставить вместе работать?
    • Від ageNT_666
      Всем привет, подскажите как можно ограничить максимальное количество контраков на абона? делал так
      iptables -I FORWARD -m connlimit --connlimit-above 5000 -j DROP
      проц в полку!(
    • Від Archy_k
      Всем привет.
      У меня был серв на фрибсд, который не перенес грозу Теперь приходится все плюшки поднять на Дебиане.
      Подскажите пожалуйста, как в Дебиане сделать такую штуку:
      Есть сеть, которая натится на некую ip, например 1.1.1.1
      Есть абонент, который получает серый ip 172.16.0.100 (но когда денег на счету нет, то 172.22.0.100)
      И вот этот абонент установил ip-камеру. И смотрит он эту камеру софтиной на портах 9998 и 9999 например.
      1.Как в дебиане сделать чтоб фаервол перекидывал запросы на ip 1.1.1.1:9998 и 1.1.1.1:9999 в сторону абонента 172.16.0.100:9998 и 172.16.0.100:9999 ?
      2.Что делать если завтра 2 абонент захочет ip-камеру. Можно ли чтоб запросы на ip 1.1.1.1:788 и 1.1.1.1:789 летели на 172.16.0.100:9998 и 172.16.0.100:9999 ?
      Вопрос именно в написании самих команд этого iptables'а... не получается понять сам принцип работы этого iptables'a.
      Заранее благодарю за помощь!
    • Від tkapluk
      Есть линуксовый сервер с iptables.
       
      На интерфейс Eth0 приходит пакет и успешно отсылается на Eth1. В ответ на этот пакет через Eth2 возвращается ответный пакет и умирает на сервере.
      Если ответный пакет возвращается через Eth1 все ок(уходит в Eth0). Новые пакеты с Eth2 в Eth0 тоже идут.
       
      Схематически:

      Eth0->[ ]->Eth1 X <-[ ]<-Eth2 Как заставить сервер отправлять ответные пакеты через Eth0?
    • Від REV
      Доброго времени суток!) Дабы ограничить пользователей, решил их скидывать в одну подсеть где нет интернета.

      Скидывать всех в одну подсеть, и показывать им страницу "дай денег", это получилось сделать.
      Но не понятно как так сделать в iptables, чтобы была возможность с этой странички ходить по ссылкам https в сторону 443 порта?
      Думал, добавить filter до prerouting:

      192.168.16.0/24 - подсеть без денег
      2**.*1*.*5.*7 - адрес куда хотелось бы ходить
      *1.*30.2*0.3* - внешний адрес шлюза
       
      iptables -t filter -A INPUT -s 192.168.16.0/24 -d 21*.*1*.*5.*7 -p tcp -m tcp --dport 443 -j ACCEPT iptables -t filter -A OUTPUT -s 192.168.16.0/24 -d 21*.*1*.*5.*7 -p tcp -m tcp --dport 443 -j ACCEPT
       но не выходит.
      Вся секция хождения "в никуда" имеет след. вид:
      iptables -t nat -A POSTROUTING -o eth0 -s 192.168.16.0/24 -j SNAT --to-source *1.*30.2*0.3* iptables -t filter -A INPUT -s 192.168.16.0/24 -d 2**.*1*.*5.*7 -p tcp -m tcp --dport 443 -j ACCEPT iptables -t filter -A OUTPUT -s 192.168.16.0/24 -d 2**.*1*.*5.*7 -p tcp -m tcp --dport 443 -j ACCEPT iptables -t nat -A PREROUTING -s 192.168.16.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8000 iptables -t nat -A PREROUTING -s 192.168.16.0/24 -p tcp --dport 443 -j REDIRECT --to-port 8000 iptables -A FORWARD -s 192.168.16.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.16.0/24 -j ACCEPT
      Может, кто-то делал подобное...или, кто-то может подсказать...
×
×
  • Створити нове...