The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"как перевести маскарадинг с ipchains на iptables?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 18-Янв-05, 16:44  (MSK)
В обще господа хорошие выручайте :)
Свершилось. Проаптгетил ядро и дистриб своего дебиана который на шлюзе в инет на 2.4.х и woody вместо древнего potato.
Поставил iptables, вместо старых ipchains.
Настроил файрвол.
Затык ждал в самом неожиданном месте. Маскарадинге.

Есть у меня сквид, и есть несколько машин в локальной сети которые должны ходить в обход сквида.
В чейнзах это решалось посредством
    ipchains -A forward -j MASQ -s 10.4.253.100 -d 0/0 >/dev/null

а тут, даже не знаю как поступить. перечитал ман по iptables, облазил список статей тут по информационной безопасности... На просмотр форума уже не хватает сил и времени. Сроки поджимают... Люди, дайте строчку правила к iptables которая пропустит в инет машину например с тем же адресом 10.4.253.100 в инет, через шлюз 82.209.212.10 на интерфейсе eth1 который смотрит в инет.

Не знаю что еще из подробностей дать... Знаю задача простецкая, люди ее решают не плюнув, но что то у меня не хватает.
по манам пишу
    iptables -t nat -A PREROUTING -s 10.4.253.100 -j SNAT  --to-source 82.209.212.10

не пашет...
Чаво прописать то надо? :)

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от screepah emailИскать по авторуВ закладки(??) on 18-Янв-05, 17:06  (MSK)
http://www.opennet.me/tips/info/379.shtml

Ты одну машину выпускаешь, а наверное нужно подсеть прописать? Типа 10.4.253.0/24 ну или какая она там у тебя?
--to-source - IP, который наружу смотрит
-o ethXX - тот интерфейс, который смотрит наружу

и не забыть про echo "1" > /proc/sys/net/ipv4/ip_forward

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 18-Янв-05, 17:18  (MSK)
>http://www.opennet.me/tips/info/379.shtml
>
>Ты одну машину выпускаешь, а наверное нужно подсеть прописать? Типа 10.4.253.0/24 ну
>или какая она там у тебя?

Не, как раз пропустить надо скажем 5 машин с фиксированными айпишниками.
ну допустим сведем задачу к пропуску одной машины. 10.4.253.100 - моей :)

>--to-source - IP, который наружу смотрит
ага. именно этот айпишник у меня пришит к интерфейсу который смотрит в инет.

>-o ethXX - тот интерфейс, который смотрит наружу
>
ага. в моем случае это eth1...

>и не забыть про echo "1" > /proc/sys/net/ipv4/ip_forward
прописано. еще с чейнзов осталось... проверял в процессах. наличествует.

выходит следующая строка
iptables -t nat -A POSTROUTING -s 10.4.253.100 -d 0/0 -o eth1 -j SNAT --to-source 82.209.212.10

сейчас пропишу проверю...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 19-Янв-05, 09:52  (MSK)
>выходит следующая строка
>iptables -t nat -A POSTROUTING -s 10.4.253.100 -d 0/0 -o eth1 -j
>SNAT --to-source 82.209.212.10


не заработало. продолжает не пускать в инет. :(
чге я не то написал?

вот мой файрвол. писал практически по инструкции :)
может тут где чего не пущает тоже...

    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -F
    iptables -X
    iptables -N bad_tcp_packets
    iptables -N allowed
    iptables -N tcp_packets
    iptables -N udp_packets
    iptables -N icmp_packets
    iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
    iptables -A allowed -p tcp --syn -j ACCEPT
    iptables -A allowed -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A allowed -j DROP
    iptables -A tcp_packets -p tcp -s 0/0 --dport 80 -j allowed
    iptables -A tcp_packets -p tcp -s 0/0 --dport 25 -j allowed
    iptables -A tcp_packets -p tcp -s 0/0 --dport 110 -j allowed
    iptables -A tcp_packets -p tcp -s 0/0 --dport 1024: -j allowed
    iptables -A udp_packets -p udp -s 0/0 --dport 1024: -j allowed
    iptables -A udp_packets -p udp -s 0/0 --sport 53 -j ACCEPT
    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type 3 -j ACCEPT
    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type 11 -j ACCEPT
    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type 12 -j ACCEPT
    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type 8 -j ACCEPT
    iptables -A INPUT -p tcp -j bad_tcp_packets
    iptables -A INPUT -p all -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p tcp -i eth1 -j tcp_packets
    iptables -A INPUT -p udp -i eth1 -j udp_packets
    iptables -A INPUT -p icmp -i eth1 -j icmp_packets

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от ref Искать по авторуВ закладки(??) on 19-Янв-05, 13:08  (MSK)
>>выходит следующая строка
>>iptables -t nat -A POSTROUTING -s 10.4.253.100 -d 0/0 -o eth1 -j
>>SNAT --to-source 82.209.212.10
>
>
>не заработало. продолжает не пускать в инет. :(
>чге я не то написал?
>
>вот мой файрвол. писал практически по инструкции :)
>может тут где чего не пущает тоже...
>
>    iptables -P INPUT DROP
>    iptables -P OUTPUT ACCEPT
>    iptables -F
>    iptables -X
>    iptables -N bad_tcp_packets
>    iptables -N allowed
>    iptables -N tcp_packets
>    iptables -N udp_packets
>    iptables -N icmp_packets
     iptables -A FORWARD(или INPUT?) -j bad_tcp_packets(и все сазданные цепочки)
      
>    iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK
>-m state --state NEW -j DROP
>    iptables -A allowed -p tcp --syn -j ACCEPT
>
>    iptables -A allowed -p tcp -m state --state
>ESTABLISHED,RELATED -j ACCEPT
>    iptables -A allowed -j DROP
>    iptables -A tcp_packets -p tcp -s 0/0 --dport
>80 -j allowed
>    iptables -A tcp_packets -p tcp -s 0/0 --dport
>25 -j allowed
>    iptables -A tcp_packets -p tcp -s 0/0 --dport
>110 -j allowed
>    iptables -A tcp_packets -p tcp -s 0/0 --dport
>1024: -j allowed
>    iptables -A udp_packets -p udp -s 0/0 --dport
>1024: -j allowed
>    iptables -A udp_packets -p udp -s 0/0 --sport
>53 -j ACCEPT
>    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type
>3 -j ACCEPT
>    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type
>11 -j ACCEPT
>    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type
>12 -j ACCEPT
>    iptables -A icmp_packets -p icmp -s 0/0 --icmp-type
>8 -j ACCEPT
>    iptables -A INPUT -p tcp -j bad_tcp_packets
>    iptables -A INPUT -p all -i eth1 -m
>state --state ESTABLISHED,RELATED -j ACCEPT
>    iptables -A INPUT -p tcp -i eth1 -j
>tcp_packets
>    iptables -A INPUT -p udp -i eth1 -j
>udp_packets
>    iptables -A INPUT -p icmp -i eth1 -j
>icmp_packets

не забыть про:
echo "1" /proc/sys/net/ipv4/ip_forward
поправте если не прав :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 19-Янв-05, 15:02  (MSK)
>     iptables -A FORWARD(или INPUT?) -j bad_tcp_packets(и все
>сазданные цепочки)

>>    iptables -A INPUT -p tcp -j bad_tcp_packets
>>    iptables -A INPUT -p all -i eth1 -m
>>state --state ESTABLISHED,RELATED -j ACCEPT
>>    iptables -A INPUT -p tcp -i eth1 -j
>>tcp_packets
>>    iptables -A INPUT -p udp -i eth1 -j
>>udp_packets
>>    iptables -A INPUT -p icmp -i eth1 -j
>>icmp_packets

Так вот же оно. только ниже.

>не забыть про:
>echo "1" /proc/sys/net/ipv4/ip_forward
>поправте если не прав :)
это тоже есть. просто в другой секции. с маскарадами.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от ref Искать по авторуВ закладки(??) on 19-Янв-05, 13:31  (MSK)
и ещё ....
>iptables -t nat -A POSTROUTING -s 10.4.253.100 -d 0/0 -o eth1 -j SNAT  
--to-source 82.209.212.10<
сменить на: iptables -t nat -A POSTROUTING -o eth1 -p tcp -j SNAT --to-source 82.209.212.10
клиентов добавлять:
iptables -A FORWARD -i eth0 -s XXX -p tcp --dport YY -j ACCEPT
iptables -A FORWARD -i eth1 -d XXX -p tcp --sport YY -j ACCEPT  
может чтото упустил ... должно работать
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 19-Янв-05, 15:07  (MSK)
>>iptables -t nat -A POSTROUTING -s 10.4.253.100 -d 0/0 -o eth1 -j SNAT  
>--to-source 82.209.212.10<
>сменить на: iptables -t nat -A POSTROUTING -o eth1 -p tcp -j
>SNAT --to-source 82.209.212.10
>клиентов добавлять:
> iptables -A FORWARD -i eth0 -s XXX -p tcp --dport YY
>-j ACCEPT
> iptables -A FORWARD -i eth1 -d XXX -p tcp --sport YY
>-j ACCEPT
>может чтото упустил ... должно работать


м... это что же, по кажому порту такую канитель прописывать?
или я не понял двух нижних правил... пропускать по локальному интерфейсу клиента ххх по порту уу
форвардить в интерфейс внешний клиента по порту...
это же громоздко...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от screepah emailИскать по авторуВ закладки(??) on 20-Янв-05, 10:47  (MSK)
>не заработало. продолжает не пускать в инет. :(

Во-первых удали все правила, кроме POSTROUTING SNAT
Во-вторых не прописывай -s и -d
т.е. просто # iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 82.209.212.10

Ну и проверь лишний раз # cat /proc/sys/net/ipv4/ip_forward, чтоб 1 стояло

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 20-Янв-05, 11:12  (MSK)
>>не заработало. продолжает не пускать в инет. :(
>
>Во-первых удали все правила, кроме POSTROUTING SNAT
>Во-вторых не прописывай -s и -d
>т.е. просто # iptables -t nat -A POSTROUTING -o eth1 -j SNAT
>--to-source 82.209.212.10
>
>Ну и проверь лишний раз # cat /proc/sys/net/ipv4/ip_forward, чтоб 1 стояло


Этим я разрешу доступ в нет ВСЕМ машинам локалки. а я в начале говорил что хочу всем разрешить только через сквида. Собственно они так и ходят...
А пару машин насквозь... как у меня и было на ipchains

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от screepah emailИскать по авторуВ закладки(??) on 20-Янв-05, 14:02  (MSK)
>Этим я разрешу доступ в нет ВСЕМ машинам локалки. а я в
>начале говорил что хочу всем разрешить только через сквида. Собственно они
>так и ходят...
>А пару машин насквозь... как у меня и было на ipchains

Ты можешь запретить доступ другим машинам. Просто как я понимаю с -s правило работает не так, как кажется. Для этого правила -s является ip, который у тебя на хостах в default маршруте прописан, скорее всего у тебя этот ip тот, который внутрь локалки смотрит с роутера.
Т.е. правило звучит, для всех пакетов, которые идут наружу, перед отправкой на роутер провайдера, преобразовывать ip источника в ip на внешнем интерфейсе.
Поэтому проще открыть доступ всем, перекрыть доступ к нужным сервисам тем, кому не нужно. Например перекрыть всем http, а открыть только отдельным машинам и т.д. Не ставить же в случае, когда все перекрыто pop/smtp proxy например.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "как перевести маскарадинг с ipchains на iptables?" 
Сообщение от _RAW_ emailИскать по авторуВ закладки(??) on 21-Янв-05, 15:35  (MSK)
>Ты можешь запретить доступ другим машинам. Просто как я понимаю с -s
>правило работает не так, как кажется. Для этого правила -s является
>ip, который у тебя на хостах в default маршруте прописан, скорее
>всего у тебя этот ip тот, который внутрь локалки смотрит с
>роутера.
>Т.е. правило звучит, для всех пакетов, которые идут наружу, перед отправкой на
>роутер провайдера, преобразовывать ip источника в ip на внешнем интерфейсе.
>Поэтому проще открыть доступ всем, перекрыть доступ к нужным сервисам тем, кому
>не нужно. Например перекрыть всем http, а открыть только отдельным машинам
>и т.д. Не ставить же в случае, когда все перекрыто pop/smtp
>proxy например.


Беда в том что у меня виндовый домен с дхцп. народу туча сидит, айпишники динамические, кроме нескольких машин. плюс еще кроме канала на инет, есть еще канал на WAN где айпишники 10.0.0.0, и надо туда всех пускать, и еще есть модемный пул, где клиентов тоже надо в инет пропускать...

эхма. лана, попробую поперекрывать после открытия всем всё кроме определенных айпишников.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру