Прокси+firewall. Часть третья, отслеживание соединений и маскарадинг

Поделиться
HTML-код
  • Опубликовано: 12 окт 2016
  • Делаем первое правило для проброса трафика через iptables: разрешаем сквозной пинг. Параллельно говорим о таблицах и учимся сохранять правила iptables.
    Мануал: github.com/ksemaev/manuals

Комментарии • 70

  • @maxshepard7053
    @maxshepard7053 4 года назад +1

    Бляха, такая тема - нарезали практически точь-в-точь задачу для того, чтобы взять меня стажёром в одну фирму, которая по сетям специализируется. Возьмут энивей, ибо чего от стажёра расчитывать. Знаний из универа - 0. (самому 20 лет, на 4 курсе ещё). На практике в такие дебри (относительные) не залазил, а теории, вычитанной в инете явно мало. Но теперь хотя бы не упаду совсем уж в грязь лицом) Видосу уже 3 года, актуальность не потерял. Спасибо, чувак, всё идеально доступно и понятно!

  • @oldfan7094
    @oldfan7094 4 года назад +4

    Очень хорошая фраза - "Мы с вами рассматриваем концепцию , что бы потом нормально читать мануал".
    Вот так бы все преподаватели подходили к вопросу. А то все сразу - "Иди читай мануал", а что там читать , если не понимаешь что происходит в общем.
    Спасибо за уроки!
    Удачи!

  • @user-yt3mh9eb2d
    @user-yt3mh9eb2d 6 лет назад +2

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

  • @MixiPri
    @MixiPri Год назад +1

    Лучшего обучения еще не встречал! Огромное спасибо!

  • @elmanmammadov1877
    @elmanmammadov1877 7 лет назад +8

    Кирилл спасибо тебе за твой труд! .Дай Бог тебе здоровья и желание для продолжения этих серии уроков по "Практическое системное администрированию" Я поддерживаю Pasha CH и говорю тоже самое ты Лучший!!! так держать !

  • @ivantarabukin1676
    @ivantarabukin1676 2 года назад +1

    Спасибо Кирилл! Это лучшие уроки по iptables в мире!!!

  • @user-um7bp1qj4n
    @user-um7bp1qj4n 5 лет назад +1

    Cпасибо Кирилл,Ты отличный учитель,легкая подача ,очень доходчиво.

  • @xxxxx5261
    @xxxxx5261 2 года назад +1

    автор - умничка!!!

  • @VSergeyV
    @VSergeyV 7 лет назад +2

    Кирилл ты как всегда на высоте, успехов тебе, и что бы твое руководство мозг включили и организовали курс по линуксу

  • @merlipas
    @merlipas 7 лет назад +15

    Ты лучший!!!

  • @user-sw9yx3lq3d
    @user-sw9yx3lq3d 4 года назад +1

    Мне еще никто так не объяснял, очень класнючие видосы, Кирилл!!!)

  • @Vlad-em1bx
    @Vlad-em1bx 6 лет назад +1

    Спасибо! Отличные уроки! Уже месяц как смотрю Ваш канал. Все очень нравится! С нетерпением жду продолжения LPIC-2 (exam 201)

  • @user-ch6ld7vk7k
    @user-ch6ld7vk7k 3 года назад

    Держи, Братюня, 555-тый класс! Очень помогаешь!)))))

  • @ihsankg5115
    @ihsankg5115 7 лет назад +2

    Все отлично чётко и ясно... Спасибо вам!

  • @lehaizkieva
    @lehaizkieva 7 лет назад +1

    Шикарные видосы, очень все понятно и четко, репост однозначно!

  • @user-yy2bk2pg1l
    @user-yy2bk2pg1l 7 лет назад +2

    Спасибо тебе! Больше Linux'а! Больше всяких beginner/advanced админских фич!

  • @angelovillaroel3201
    @angelovillaroel3201 5 лет назад

    Благодарю, очень понятно всё и полезно!

  • @user-qf9dz7jv8e
    @user-qf9dz7jv8e 7 лет назад +1

    Спасибо, очень хорошие видео.

  • @linuxcomptutorial4840
    @linuxcomptutorial4840 4 года назад +1

    Спасибо за видео!

  • @piterkola1
    @piterkola1 7 лет назад +3

    Всё грамотно, я понял материал

  • @vegas9605
    @vegas9605 4 года назад

    Привет, чювак! Спасибо тебе!

  • @kirillmorozov2308
    @kirillmorozov2308 7 лет назад +1

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT без этой строчки ничего отбрасываться не будет, просто при использование tcp будет фаерфолиться каждая дейтаграмма, а не только те которые с флагами на установку соединения )) А в целом все круто )))

  • @angelovillaroel3201
    @angelovillaroel3201 5 лет назад +2

    -- Если слетает конфигурация при перезагрузке линукс --
    Вернулся к этому уроку чтобы написать коммент о сохранении конфигурации iptables при перезагрузке линукса. И кстати у меня CentOS 7.
    В CentOS 7 установленной в минимальной конфигурации работал фаервол firewalld. Первое что делаем, останавливаем его и убираем из автозагрузки:
    systemctl stop firewalld.service
    systemctl disable firewalld.service
    Запускаем, если не запущен сам iptables:
    systemctl start iptables.service
    И у кого при перезапуске не загружались настройки (слетали), нужно добавить iptables в автозагрузку:
    systemctl enable iptables.service
    Кроме того, в файле /etc/sysconfig/iptables-config ставим yes в строках:
    IPTABLES_SAVE_ON_STOP="yes"
    IPTABLES_SAVE_ON_RESTART="yes"
    Тогда при остановке или перезапуске службы или при выключении линукса будет сохраняться конфигурация.
    Кстати конфигурация iptables в CentOS сохраняется в файл:
    /etc/sysconfig/iptables
    А сохранение вручную действительно командой:
    # service iptables save
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
    Кирилл, твои уроки очень легко смотрятся и всё понятно, просто столкнулся с такой проблемой что при перезагрузке слетают настройки. Начал копать и оказалось таких людей много. Вот и добавил сюда. Сам в линуксе совсем недавно.
    Всем удачи!

  • @maksnikiforoff578
    @maksnikiforoff578 7 лет назад +1

    Спасибо.

  • @lazyman4214
    @lazyman4214 7 лет назад +3

    Не рассказывайте меньше, рассказывайте больше, потому что настройка iptables - очень непростая тема, и в нее достаточно тяжело вникнуть даже не особо начинающему линуксоиду)

  • @creakernetworking3145
    @creakernetworking3145 4 года назад

    rahmat

  • @vinnypuh7600
    @vinnypuh7600 7 лет назад +7

    Кирилл приветствую! Спасибо тебе за то, что ты делаешь с удовольствием смотрю, очень познавательно и помогает мне как начинающему. Вопрос: с какой периодичностью будет выходить этот цикл видео про прокси? Заранее спасибо.

    • @KirillSemaev
      @KirillSemaev  7 лет назад +3

      За неделю уложимся, думаю

  • @dimaonishkevich9301
    @dimaonishkevich9301 7 лет назад +2

    Спасибо за видео,не плохо б было услышать про пробросы ,fail2ban, и может это не совсем то но и про freeradius,pppoe-server, по больше сетей)

  • @SsergeySav
    @SsergeySav 7 лет назад +1

    Есть только один косяк в рассуждениях. NAT к маршрутизации не имеет никакого отношение. NAT применяется там, где нет возможности указать маршрут до подключаемой сети (например на границе с провайдеровской сетью). Данная конфигурация и без нат работать будет, нужно только на шлюзе реальной сети указать что внутренняя сеть VB доступна через 10.0.1.5. Вот это реально будет маршрутизируемая сеть.

  • @matyushinalexander3284
    @matyushinalexander3284 7 лет назад +1

    Кирилл, спасибо за видео! интересен вариант прокси с одним иртерфейсом, без нат, только прокся

    • @lazyman4214
      @lazyman4214 7 лет назад

      с одним интерфейсом все гораздо проще, если прокси не выступает шлюзом, а просто пропускает через себя траффик

    • @KirillSemaev
      @KirillSemaev  7 лет назад

      Этот конфиг оч редко используется, так как прокся обычно пограничная все же. А так да - все еще проще - как доберемся до squid я отмечу

  • @psoftby279
    @psoftby279 6 лет назад +1

    iptables-persistent сохраняет настройки только в момент установки. В будущем после изменений использовать sudo dpkg-reconfigure iptables-persistent или с аналогичным результатом sudo iptables-save > /etc/iptables/rules.v4

    • @user-qw7vn1yr6c
      @user-qw7vn1yr6c Год назад

      Может, кому-то поможет: настройку производил на CentOS 7.9 и для себя смог сохранять конфиг и после ребута командой service iptables save
      В центе конфиг iptables лежит тут /etc/sysconfig/iptables и подгружается при каждой загрузке системы. Соответственно, команда выше этот файлик перезаписывает и наступает счастье. Полагаю, что для юбунты команда также актуальна, или есть её аналог

  • @immickful
    @immickful 3 года назад

    10:04 - а для каких целей в таблице NAT нужны цепочки INPUT, FORWARD, OUTPUT, если данная таблица отвечает за натирование и именно через цепочки PREROUTING и POSTROUTING?

  • @XenonIPC
    @XenonIPC 4 года назад +1

    Кирилл, подскажите пожалуйста, на 4:34 Вы с компа Windows 10 (192.168.0.101) УСПЕШНО пингуете WAN сетевуху (10.0.1.5). Каким образом? У Вас в iptables для FORWARD стоит политика DROP (4:09). Каким образом Вы успешно пингуете из одной сети другую без маршрутизации?

    • @immickful
      @immickful 3 года назад

      Так там идёт пинг фаервольной тачки и это работает через INPUT. А вот если надо пинговать что-то за этой такой, то там уже нужна маршрутизация и FORWARD.

  • @kirillstrelczov1294
    @kirillstrelczov1294 6 лет назад

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

    • @user-oj4bu1sv5h
      @user-oj4bu1sv5h 5 лет назад

      Благодаря дефолтному маршруту

  • @user-yl4vt9ss1e
    @user-yl4vt9ss1e 5 лет назад +1

    У меня не устанавливался пакет iptables-persistent
    , пока в Input не дал ACCEPT. А у вас работает я вижу, как так?

    • @KirillSemaev
      @KirillSemaev  5 лет назад

      у меня скорее всего разрешены на вход пакеты относящиеся к уже установленным соединениям `iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT` serverfault.com/questions/433295/what-is-the-right-iptables-rule-to-allow-apt-get-to-download-programs

  • @remserov2574
    @remserov2574 7 лет назад

    круто
    вопрос- как прикрутить теперь мониторинг и web для начальника?

  • @johnsmith1344
    @johnsmith1344 7 лет назад

    Вы сказали что можно добавить правило указав имя интерфейса (8:47). Набираю
    iptables -t nat -A POSTROUTING -i eth1 -j MASQUERADE
    выдает ошибку
    iptables v1.4.21: Can't use -i with POSTROUTING
    Ubuntu 14.04

    • @eugenem6709
      @eugenem6709 7 лет назад

      Все правильно выдает. Правильно iptables -t nat -A POSTROUTING -o eth0 -s $LAN_NET -j MASQUERADE. Где "$LAN_NET" - адрес локальной сети.

  • @immickful
    @immickful 3 года назад

    6:58 - так а почему мы пишем в цепочку FORWARD? Подразумевается же исходящий пинг, а это OUTPUT...

    • @XPERT518
      @XPERT518 Год назад

      Потому-что FORWARD это транзитный трафик, а OUTPUT это исходящий трафик, который идет с самого сервака, если бы мы с него пинговали то, нужно было писать в OUTPUT.

  • @LiguidCool
    @LiguidCool 7 лет назад

    Я то всегда думал, что Masquerade это линуксовое название NAT'a ... Т.е. есть и другие варианты?

    • @KirillSemaev
      @KirillSemaev  7 лет назад

      Есть SNAT и DNAT, маскарад это очень частный случай

  • @free6798
    @free6798 6 лет назад

    Здравствуйте Кирилл.
    Выполняю ваши инструкции и возник вопрос.
    У меня роутер с адресом 192.168.1.1/24
    На прокси сервере:
    карты:
    wan 192.168.1.10/24
    lan 192.168.0.10/16
    на клиенте
    192.168.0.101/16
    после добавления правила маскарадинга:
    iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
    не могу пропинговать роутер 192.168.1.1 (как делали в видео)
    Если же клиенту задаю адрес 192.168.0.101/24, то пинг идет.
    С чем может быть связано?

    • @KirillSemaev
      @KirillSemaev  6 лет назад

      а дайте вывод команды route на клиенте?

    • @free6798
      @free6798 6 лет назад

      IPv4 таблица маршрута
      ===========================================================================
      Активные маршруты:
      Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
      0.0.0.0 0.0.0.0 192.168.0.10 192.168.0.101 266
      127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
      127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
      127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
      192.168.0.0 255.255.0.0 On-link 192.168.0.101 266
      192.168.0.101 255.255.255.255 On-link 192.168.0.101 266
      192.168.255.255 255.255.255.255 On-link 192.168.0.101 266
      224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
      224.0.0.0 240.0.0.0 On-link 192.168.0.101 266
      255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
      255.255.255.255 255.255.255.255 On-link 192.168.0.101 266
      ===========================================================================

    • @free6798
      @free6798 6 лет назад

      причем: ping 8.8.8.8 идет.

    • @KirillSemaev
      @KirillSemaev  6 лет назад

      по маршрутам все норм, так что к сожалению так не подскажу, надо на обоих машинах руками походить проверить. Звучит странно конечно, может опечатка там где в масках, не знаю(

    • @free6798
      @free6798 6 лет назад

      По 10 раз проверил, хотя, конечно, я специалист еще тот. Интернет через сервер раздаю, а на веб-интерфейс роутера выйти не могу. Подписчики! Ни кто не сталкивался с таким эффектом?

  • @immickful
    @immickful 3 года назад

    13:11 - я че-то про connection tracker в видео ничего не узрел...

  • @eduardmart1237
    @eduardmart1237 2 года назад

    В чем отличие masquerade от NAT?

  • @user-km2ez5wq8y
    @user-km2ez5wq8y 7 лет назад

    Мне бы эти уроки пару лет назад. Спасибо, а как завернуть 443 порт на 192.168.0.10 при том что шлюз на 192.168.0.1 У меня просто squid SSL bump HTTPS на .....0.10. и вручную на каждой машине не хочется приписывать. Все эксперименты не были успешны т.к. фаервол на ....0.1
    Нет там нужно правило типа iptables -t nat -A PREROUTING -i eth1 ! -d
    192.168.0.11-192.168.0.100 -p tcp -m multiport --dport 443-j DNAT --to
    192.168.0.10:8888 Проблема в диапазоне адресов потому ,что компы в одной
    сети

    • @nixonftf
      @nixonftf 7 лет назад

      что-то типа такого может?
      на сквиде сделать ipfw fwd 192.168.0.10,3128 tcp from 192.168.1.0/24 to any 443
      а на роутере сделать проброс 443 порта с роутера 0.1 на сквид 0.10

    • @KirillSemaev
      @KirillSemaev  7 лет назад

      А это мы уже рассматриваем в пятой части, если по ней не разберетесь - пишите. Я ее сейчас выложу

  • @kolyzey05
    @kolyzey05 7 лет назад +1

    Кирилл спасибо огромное! Только начинаю вникать в Линукс, в частном порядке сможешь помочь? Задача - прокси с авторизацией пользователей из домена. Домен на 2012 сервере МS, пока дошел до того, что либо прямой интернет через сквид (без авторизации, из всей локалки) либо прокси выдает :
    ОШИБКА
    Запрошенный URL не может быть получен
    При получении URL www.newsru.com/ произошла следующая ошибка
    Доступ запрещён.
    Система контроля доступа не позволяет выполнить ваш запрос сейчас. Обратитесь к вашему администратору.
    Администратор Вашего кэша: webmaster.
    Ни как не настроить авторизацию хотя бы просто из списков сквида.
    Заранее спасибо !

    • @KirillSemaev
      @KirillSemaev  6 лет назад

      ну я надеюсь что уже разобрался, мне оповещение об этом комменте не пришло(

  • @religiouszealot1860
    @religiouszealot1860 7 лет назад

    sudo - substitute user and do

  • @MarkSmirnov
    @MarkSmirnov 7 лет назад

    Почему делаете основную политику DROP? Если ради обучения, то понятно, а так же приходится всем по отдельности разрешать... со стандартными политиками достаточно маскарад или снат только прописать и все взлетит

    • @KirillSemaev
      @KirillSemaev  6 лет назад +2

      если прод среда: все всегда дроп, это базовые действия для обеспечения минимальной безопасности: разрешено только то, что явно разрешено

    • @rsvrsv1680
      @rsvrsv1680 6 лет назад

      помнится на cisco icnd тренер когда рассказывал про ACL, то говорил, что если не хотите много головной боли, то сначала все запретить, а потом разрешать только то, что надо в явном виде.