Тармакты Iptables менен камсыз кылуу - Прокси - NAT - IDS: 2-БӨЛҮК

боюнча мурунку кийинки Firewall катары иштей турган IPTables конфигурациясын көрдүк. Эми ошол скрипттерди түзүүнү, система иштей баштаганда эрежелер автоматтык түрдө аткарылышын, ошондой эле ал эрежелерди бир азга жок кылууну же токтото турууну көрө алабыз.

Сценарийди жасоодон жана анын сырткы көрүнүшүн көрсөтүүдөн мурун, NAT жөнүндө жана ушул шайман менен эмне кылууну каалагандыгыбыз жөнүндө бир аз сөз кылалы.

NAT жана мисалдын контексти.

NAT жөнүндө сөз кылганда, биз муну маршрутташтыруу менен чаташтырышыбыз мүмкүн, анткени экөө тең эки башка тармакты бири-бирине туташтырууга жооп беришет. Айырмасы чындыгында, маршрутизация бир локалдык тармактан экинчи тармакка өтүү үчүн колдонулат жана башка тармак роутерге туташып, Интернетке чыга алат.

Ал эми NAT жөнүндө сөз кылганда, биз пакеттерди жергиликтүү же жеке тармактан коомдук тармакка же Интернетке багыттоо жөнүндө сүйлөшөбүз. Муну менен ал Интернетте колдонула турган коомдук IP коюу менен, пакеттерди маскалоо менен. Башкача айтканда, бизге роутердин кереги жок, анткени коомдук IP түздөн-түз GNU / Linux компьютерине таандык.

ул

Биз муну жергиликтүү желеден Интернетке чыгуу үчүн роутер / брандмауэр катары Linuxту колдонуп жатабыз деген ураан менен иштейбиз. Бирок бул жерде эки сценарий пайда болушу мүмкүн.

  • Биздин Linux кызмат көрсөтүүчү жана жергиликтүү тармактын роутери ортосунда экендиги.

Бул учурда, роутер менен биздин Linux ортосунда тармак, ал эми Linux менен жергиликтүү тармактын ортосунда дагы башка тармак болмок. Демек, биздин роутерде NAT иш-аракет кылбайт, түшүндүрүлгөндөй жөнөкөй трафик маршруту менен мурунку кийинки Жакшы болмок.

  • Биздин Linux жергиликтүү тармакка туташкан интерфейске ээ жана башка интерфейс аркылуу ал түздөн-түз багыттоочу коомдук IP алат.

Пакеттер Интернетке жетиши үчүн, биздин Linux NAT жасашы керек дегенди билдирет.

Бул чакан лабораториянын максаты үчүн, биздин Linux коомдук IPди түздөн-түз алат жана ошону менен NAT натыйжаларын текшере алат деп айтабыз.

NAT кылуу үчүн биз синтаксисти колдонобуз

 iptables -t nat -A POSTROUTING -O eth1 -j МАСКУРАД

Кайда eth1 - бул биз коомдук ipди кабыл алган интерфейс, башкача айтканда, биз Интернетке кайда барабыз.

MASQUERADE ip жалпы болгондо колдонулат, бирок убакыттын өтүшү менен өзгөрүп турушу мүмкүн (динамикалык). Болбосо биз SNAT-булагын ip колдоно алабыз

IPptables скриптин түзүү

172.26.0.0 - бул биздин жергиликтүү тармак жана 81.2.3.4 - биз Интернетке чыккан жалпы IP. (бул статикалык ip). Менде eth0 интерфейстери бар (Жергиликтүү тармак)

eth1 (Коомдук тармак).

Бул негизинен /etc/init.d/firestop (мисалы) деп атала турган сценарий түзүүдөн турат. жана ушул скрипттен биз ар кандай тутум демонсу сыяктуу эле, конфигурациябыздын абалын баштайбыз, токтотобуз же текшере алабыз.

Менин IPTABLES эрежелерим мындай:

#! / bin / bash # Менин үйүмдүн брандмауэри. # Файлдын аты / etc / firewall_on # By Jlcmux Twitter: @Jlcmux # # Негизги саясат. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P АЛГА ТАРТУУ # #NAT Интернетти eth0дон eth1ге бөлүшүү үчүн iptables -t nat -A POSTROUTING -O eth1 -j SNAT - булакка 81.2.3.4
# # Менин iptables тарабынан демилгеленген кирүүчү туташууларга уруксат берүү -A FORWARD -m абалы - Мамлекет орнотулган, БАЙЛАНЫШТУУ -j КАБЫЛ АЛЫНАТ # # Авторизацияланган чыгуучу трафик iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j АКСЕПТЕР iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j КАБЫЛ АЛУУ iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j КАБЫЛ АЛУУ
Аткарууга уруксат берүүнү унутпайлы

Explanation:

Сценарий негизинен төмөнкүлөрдү аткарат:

  1. Алгач бардык навигацияны, байланыштарды жана трафикти чектөө (Негизги Firewall Саясаттары)
  2. Андан кийин NAT көздөгөн eth1 менен жаратыңыз. бизде статикалык коомдук ip бар экендигин көрсөтүү "81.2.3.4"
  3. Бул мен демилгелеген байланыштар топтомун кабыл алуу үчүн керектүү портторду ачат.
  4. Чыгуучу HTTP, HTTPS жана DNS трафикти кабыл алат.
Эрежелер АЛГА Трафикке багытталган, анткени биз Linuxту Роутер катары колдонуп жатабыз, ошондуктан саясаттар Linux АРКЫЛУУ трафикте колдонулат, башкача айтканда, ал ортомчу катары иштейт. Бул биздин Linux чындыгында навигациялай албайт же түздөн-түз кандайдыр бир маалыматтарды ала албайт дегенди билдирет. Бул ага туташкан компьютерлерге гана тиешелүү, бирок өзүнө эмес

Эгерде биз жабдууларыбызды навигациялоо үчүн колдонгубуз келсе, анда саптарды кайталап, ылайыктуу түрдө АЛГА КИРҮҮ же ЧЫГУУ деп өзгөртүшүбүз керек.

Скриптти жокко чыгаруу.

Эми жогоруда айтылгандардын бардыгын жокко чыгарган жана компьютерди ушулардын баарынан таза скрипт түзгөнү жатабыз. (Сыноо максатында же биз брандмауэрди өчүргүбүз келет).

#! / bin / bash # Менин үйүмдүн брандмауэри. # Файлдын аты / etc / firewall_off # By Jlcmux Twitter: @Jlcmux # # iptables эрежелерин жок кылуу -F # # Демейки саясатты колдонуу (бардык трафик кабыл алынат) iptables -P INPUT КАБЫЛ АЛУУ iptables -P ЧЫГЫШ КАБЫЛ АЛУУ iptables -P АЛГА КАБЫЛ АЛУУ

Автоматташтыруу.

Эми сценарийди ичинде түзүшүбүз керек /etc/init.d/ жана кызмат автоматтык түрдө башталат жана биз аны ыңгайлуу жол менен башкара алабыз.

#! / bin / bash # Менин үйүмдүн брандмауэри. # Файлдын аты /etc/init.d/ firewall # By Jlcmux Twitter: @Jlcmux case $ 1 башталат) / etc / firewall_on ;; stop) / etc / firewall_off ;; абал) iptables -L ;; *) echo "Туура эмес синтаксис. Valid = /etc/init.d/ firewall start | stop | status ;; esac

Explanation:

Бул акыркы сценарийди биз киргиздик /etc/init.d/ аты менен тармактык. Демек, брандмауэрди башкаргыбыз келсе, буйрукту колдонсок болот /etc/init.d/ брандмауэр башталат. Ошол сыяктуу эле биз аны токтото алабыз же мамлекетти көрө алабыз.

Эми файлды оңдоп жатабыз /etc/rc.local жана биз мындай нерсени койдук: /etc/init.d/ брандмауэр башталат тутумдан баштоо.

Ошондой эле. Бул экинчи бөлүк. Баарыңыздарга бир нерсе алып келет деп ишенем. Кийинкиде биз Прокси жана ID'лерди көрөбүз.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

7 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   дхунтер ал мындай деди:

    Эгер сиз Debian колдонуп жаткан болсоңуз, анда реподо (iptables-persistent) бир пакет бар, ал дал ушул нерсени колдонот, /etc/iptables/rules.v4 же v6дагы учурдагы эрежелерди сиз колдонгон нерсеңизге жараша таштап, анан сизге колдонот системаны көтөргөндө.

  2.   ocz ал мындай деди:

    Иш жүзүндө, кадимки iptables брандмауэринин конфигурациясын тазалоо үчүн (жана NATны колдонуу менин көз карашымда андай болбойт), көпчүлүк учурда эрежелерди жууп, демейки саясатты КАБЫЛ АЛУУ абалга келтирүү жетиштүү болот.
    Бирок, теория жүзүндө жана менин билишимче, буга кошумча, демейки эмес саптарды тазалап, эсептегичтерди баштапкы абалга келтирүү керек. Жүргүзүлө турган иш-чаралар, "чыпкадан" тышкары, башка таблицалар дагы бар экендигин эске алуу менен (бул үчүн "/ proc / net / ip_tables_names" файлын окуу милдеттүү).

    Баса, ортодоксалдык байланышта тармактан мурун брандмауэр болушу керек деп айтылат. Башка Linux тутумдарында кандайча иштээрин билбейм, бирок Debian сценарийлерин "/etc/network/if-pre-up.d/" каталогуна ылайыкташтырып, орнотсо болот.

    Бардыгын жакшы брандмауэр менен тосуу. 😉

  3.   NauTiluS ал мындай деди:

    Саламатсызбы, билдирүү абдан жакшы болуптур. Мен 2 томду толугу менен окуп чыктым.

    Кийинки күтүп жатабыз 🙂

  4.   Anónimo ал мындай деди:

    Менин сабатсыздыгымдан улам келип чыккан суроо, биз iptables менен улантабыз, бирок бир нече ядро ​​версияларында nftables бар, мен ансыз деле сынап жатам, суроолор, nftables iptablesга карата бета нерсе бекен? Iptables дагы узак убакытка чейин колдонула береби?

    рахмат.

    1.    Юкитеру ал мындай деди:

      nftables iptables, ip6tables, arptables жана ebtablesдин бардык функционалдык мүмкүнчүлүктөрүн камтыйт, алардын бардыгы өзөктүк мейкиндикте дагы, колдонуучулар мейкиндигинде дагы жаңы инфраструктураны колдонушат, бул жакшыраак иштөөнү жана өркүндөтүлгөн иштөөнү камсыз кылат. nftables iptables жана айтылган бардык башка шаймандардын ордун басат, бирок азырынча жок дегенде, ушул сыяктуу nftables кеңири колдонулганга чейин эмес.

  5.   Александр ал мындай деди:

    абдан жакшы билдирүү, мен дагы окугум келди, анткени ал абдан жакшы түшүндүрүлдү .. салам, чоң салым кошконуңуз үчүн рахмат

  6.   Аврах ал мындай деди:

    Салам! Эки билдирүү абдан жакшы.
    Салым катары ушул бөлүктүн аягына чейин кошо аласыз:

    "Эми /etc/rc.local файлын түзөтүп, /etc/init.d/firestop баштоо тутуму системадан башталгандай кылып баштайбыз."

    Муну rc.local дарегине кошуңуз.

    if [-x /etc/init.d/ firewall]; анда
    /etc/init.d/ брандмауэр башталат
    fi

    Демек, эгер "брандмауэрдин" аткарууга уруксаты бар болсо, анда аны аткарыңыз.
    Эгер сиз "брандмауэр" башталбасын десеңиз, уруксатты гана алып салыңыз.

    Мисалы: chmod + x /etc/init.d/ брандмауэр
    аны ар бир стартапта иштетүү үчүн же ...
    chmod -x /etc/init.d/ брандмауэр
    аны толугу менен өчүрүү.

    Силерге тынчтык болсун!