IPTABLES VS FirewallD
Այսօր մենք կանցնենք iptable-ների և firewalld-ի միջով և կիմանանք այս երկուսի պատմությանը, ինչպես նաև տեղադրմանը և ինչպես կարող ենք դրանք կարգավորել մեր Linux բաշխումների համար:
Եկեք սկսենք առանց ավելի շատ ժամանակ կորցնելու:
Նախ, մենք պետք է իմանանք, թե ինչ է iptables-ը: ՏՏ ավագ մասնագետներից շատերը գիտեն դրա մասին և նախկինում նույնպես աշխատել են դրա հետ: Iptables-ը հավելված/ծրագիր է, որը թույլ է տալիս օգտվողին կարգավորել անվտանգության կամ firewall-ի անվտանգության աղյուսակները, որոնք տրամադրվում են Linux միջուկի firewall-ի և շղթաների կողմից, որպեսզի օգտագործողը կարողանա ավելացնել/հեռացնել firewall-ի կանոնները դրան համապատասխանաբար՝ իր անվտանգության պահանջներին համապատասխան: Iptables-ն օգտագործում է միջուկի տարբեր մոդուլներ և տարբեր պրոտոկոլներ, որպեսզի օգտագործողը կարողանա դրանից առավելագույնը վերցնել: Օրինակ, iptables-ն օգտագործվում է IPv4-ի համար (IP տարբերակ 4/32 բիթ) և ip6tables-ը՝ IPv6-ի համար (IP տարբերակ 6/64 բիթ) և՛ tcp-ի, և՛ udp-ի համար: Սովորաբար, iptables-ի կանոնները կազմաձևվում են համակարգի ադմինիստրատորի կամ համակարգի վերլուծաբանի կամ ՏՏ մենեջերի կողմից: Դուք պետք է ունենաք արմատային իրավունքներ՝ iptables-ի յուրաքանչյուր կանոն գործարկելու համար: Linux Kernel-ը օգտագործում է Netfilter շրջանակը, որպեսզի այն կարողանա ապահովել ցանցի հետ կապված տարբեր գործողություններ, որոնք կարող են իրականացվել iptables-ի միջոցով: Նախկինում ipchains-ն օգտագործվում էր Linux բաշխումների մեծ մասում՝ նույն նպատակով: iptables-ի յուրաքանչյուր կանոն ուղղակիորեն կառավարվում է հենց Linux Kernel-ի կողմից և այն հայտնի է որպես միջուկի պարտականություն: Անկախ այն բանից, թե ինչ GUI գործիքներ կամ անվտանգության այլ գործիքներ եք օգտագործում ձեր սերվերի firewall-ի անվտանգությունը կարգավորելու համար, օրվա վերջում այն վերածվում է iptables կանոնների և մատակարարվում միջուկին՝ գործողությունը կատարելու համար:
iptables-ի աճը սկսվում է netfilter-ով: Փոլ Ռաստի Ռասելը նախնական հեղինակն էր և Netfilter/iptables-ի գլխավոր ուղեղային կենտրոնը: Ավելի ուշ նրան միացան բազմաթիվ այլ տեխնոլոգիական մարդիկ, այնուհետև ձևավորեցին և ստեղծեցին Netfilter-ի հիմնական թիմը և զարգացրեց և պահպանեց netfilter/iptables նախագիծը որպես համատեղ ջանքեր, ինչպես շատ այլ բաց կոդով նախագծեր: Հարալդ Ուելտեն նախկին ղեկավարն էր մինչև 2007 թվականը, իսկ հետո Պատրիկ ՄաքՀարդին ղեկավարում էր մինչև 2013 թվականը: Ներկայումս ցանցի հիմնական թիմի ղեկավարը Պաբլո Նեյրա Այուսոն է:
Netfilter-ի մասին ավելին իմանալու համար այցելեք այս հղումը: Netfilter-ի պատմության մասին ավելին իմանալու համար այցելեք այս հղումը:
iptables-ի պատմության մասին ավելին իմանալու համար այցելեք այս հղումը:
Այժմ Linux-ի յուրաքանչյուր միջուկը գալիս է iptable-ներով և կարելի է գտնել նախապես կառուցված կամ նախապես տեղադրված բոլոր հայտնի ժամանակակից Linux բաշխումների վրա: Linux համակարգերի մեծ մասում iptables-ը տեղադրված է այս /usr/sbin/iptables գրացուցակում: Այն կարելի է գտնել նաև /sbin/iptables-ում, բայց քանի որ iptables-ն ավելի շատ նման է ծառայության, այլ ոչ թե «էական երկուականի», նախընտրելի վայրը մնում է /usr/sbin գրացուցակում:
Ubuntu-ի կամ Debian-ի համար
sudo apt-get install iptables
CentOS-ի համար
sudo yum install iptables-services
RHEL-ի համար
sudo yum install iptables
Ձեր iptables տարբերակը իմանալու համար ձեր տերմինալում մուտքագրեք հետևյալ հրամանը.
sudo iptables --version
OpenSUSE 42.1-ի համար մուտքագրեք հետևյալը՝ դադարեցնելու համար:
sudo /sbin/rcSuSEfirewall2 stop
Այն նորից սկսելու համար
sudo /sbin/rcSuSEfirewall2 start
Ubuntu-ի համար մուտքագրեք հետևյալը՝ դադարեցնելու համար:
sudo service ufw stop
Այն նորից սկսելու համար
sudo service ufw start
Debian-ի և RHEL-ի համար մուտքագրեք հետևյալը՝ դադարեցնելու համար:
sudo /etc/init.d/iptables stop
Այն նորից սկսելու համար
sudo /etc/init.d/iptables start
CentOS-ի համար մուտքագրեք հետևյալը՝ դադարեցնելու համար։
sudo service iptables stop
Այն նորից սկսելու համար
sudo service iptables start
Բոլոր կանոններն իմանալու համար, որոնք ներկայումս առկա և ակտիվ են ձեր iprables-ում, պարզապես բացեք տերմինալը և մուտքագրեք հետևյալը:
sudo iptables -L
Եթե iptables-ի վրա ելքեր չկան, նշանակում է, եթե ձեր iptables firewall-ում մինչ այժմ ավելացված կանոններ չկան, դուք կտեսնեք ստորև ներկայացված պատկերի նման մի բան:
Այս վերևի նկարում դուք կարող եք տեսնել, որ կան երեք (3) շղթաներ և դրանք INPUT, FORWARD, OUTPUT են, և չկան կանոններ: Իրականում ես դեռ չեմ ավելացրել:
Մուտքագրեք հետևյալը` ձեր iptables firewall-ի շղթաների կարգավիճակը իմանալու համար:
sudo iptables -S
Վերոնշյալ հրամանով դուք կարող եք իմանալ, թե արդյոք ձեր շղթաներն ընդունում են, թե ոչ:
Մաքրել iptables-ի բոլոր կանոնները
Ձեր iptables firewall-ի բոլոր կանոնները մաքրելու համար խնդրում ենք մուտքագրել հետևյալը. Սա սովորաբար հայտնի է որպես ձեր iptables կանոնների ողողում:
sudo iptables -F
Եթե ցանկանում եք ողողել միայն INPUT շղթան կամ որևէ առանձին շղթա, թողարկեք ստորև նշված հրամանները՝ ըստ ձեր պահանջների:
sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD
ԸՆԴՈՒՆԵԼ կամ ԳՈՐԾԵԼ Շղթաները
Որոշակի շղթա ընդունելու կամ թողնելու համար թողարկեք հետևյալ հրամաններից որևէ մեկը ձեր տերմինալում՝ ձեր պահանջները բավարարելու համար:
iptables --policy INPUT DROP
Վերոնշյալ կանոնը չի ընդունի որևէ բան, որը մուտք է գործում այդ սերվեր: Այն կրկին վերադարձնելու համար ACCEPT-ին, կատարեք հետևյալը
iptables --policy INPUT ACCEPT
Նույնը վերաբերում է նաև այլ շղթաներին
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP
Նշում. Լռելյայնորեն, iptable-ների բոլոր շղթաները ( INPUT, OUTPUT, FORWARD ) գտնվում են ԸՆԴՈՒՆԵԼ ռեժիմում: Սա հայտնի է որպես քաղաքականության շղթայի լռելյայն վարքագիծ:
Թույլատրելով ցանկացած նավահանգիստ
Եթե դուք աշխատում եք որևէ վեբ սերվեր ձեր հոսթում, ապա դուք պետք է թույլ տաք ձեր iptables firewall-ին, որպեսզի ձեր սերվերը լսի կամ արձագանքի 80-րդ նավահանգիստին: Լռելյայն վեբ սերվերն աշխատում է 80-րդ նավահանգստում: Եկեք դա անենք:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Վերոնշյալ տողում A-ն նշանակում է append նշանակում է, որ մենք նոր կանոն ենք ավելացնում iptables ցուցակում: INPUT նշանակում է INPUT շղթա: P-ն նշանակում է արձանագրություն, իսկ dport-ը նշանակում է նպատակակետ: Լռելյայնորեն ցանկացած վեբ սերվեր աշխատում է 80-րդ նավահանգստով: Նմանապես, դուք կարող եք թույլ տալ նաև SSH պորտը:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Լռելյայնորեն, SSH-ն աշխատում է 22-րդ նավահանգստում: Բայց լավ պրակտիկա է չաշխատել SSH-ը 22-րդ նավահանգստում: Միշտ գործարկեք SSH-ը այլ պորտի վրա: SSH-ը մեկ այլ նավահանգստում գործարկելու համար բացեք /etc/ssh/sshd_config ֆայլը ձեր սիրած խմբագրիչում և փոխեք պորտը 22-ով այլ նավահանգիստ:
Ասեք, որ ուզում ենք արգելափակել 135 նավահանգիստը: Մենք կարող ենք դա անել
sudo iptables -A INPUT -p tcp --dport 135 -j DROP
եթե ցանկանում եք արգելափակել ձեր սերվերը, որպեսզի սկսի որևէ SSH կապ սերվերից դեպի այլ հոսթ/սերվեր, թողարկեք հետևյալ հրամանը.
sudo iptables -A OUTPUT -p tcp --dport 22 -j DROP
Դրանով ոչ ոք չի կարող օգտագործել ձեր սերվերը՝ սերվերից SSH կապ սկսելու համար: OUPUT շղթան կզտի և կթողնի ցանկացած ելքային tcp կապ դեպի այլ հոսթ:
Պորտի հետ հատուկ IP-ի թույլտվություն
sudo iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT
Այստեղ -s 0/0 նշանակում է ցանկացած մուտքային աղբյուր ցանկացած IP հասցեով: Այսպիսով, ձեր սերվերը ոչ մի կերպ չի պատասխանի tcp փաթեթի համար, որի նպատակակետ պորտը 22 է: Եթե ցանկանում եք թույլատրել միայն որևէ կոնկրետ IP, ապա օգտագործեք հետևյալը:
sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT
Վերոնշյալ օրինակում դուք միայն թույլ եք տալիս 12.12.12.12 IP հասցեին միանալ SSH պորտին: Մնացած IP հասցեները չեն կարողանա միանալ 22-րդ նավահանգիստին: Նմանապես դուք կարող եք թույլատրել՝ օգտագործելով CIDR արժեքները: Ինչպիսին է
sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j ACCEPT
Վերոնշյալ օրինակը ցույց է տալիս, թե ինչպես կարող եք թույլատրել մի ամբողջ IP բլոկ՝ ընդունելու կապը 22-րդ նավահանգստում: Այն կընդունի IP՝ սկսած 12.12.12.1-ից մինչև 12.12.12.255:
Եթե ցանկանում եք արգելափակել IP հասցեների նման տիրույթը, արեք հակառակը՝ ACCEPT-ը փոխարինելով DROP-ով, ինչպես հետևյալը.
sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP
Այսպիսով, այն թույլ չի տա միացում ստանալ 22-րդ նավահանգստում 12.12.12.1-ից մինչև 12.12.12.255 IP հասցեներ։
ICMP-ի արգելափակում
Եթե ցանկանում եք արգելափակել ICMP (ping) հարցումը դեպի ձեր սերվերը և մուտքը, կարող եք փորձել հետևյալը. Առաջինը կարգելափակի ICMP ping echo հարցումը այլ հոսթին չուղարկելու համար:
sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
Այժմ փորձեք ping ուղարկել google.com-ին: Ձեր OpenSUSE սերվերը չի կարողանա ping ուղարկել google.com-ին:
Եթե ցանկանում եք արգելափակել մուտքային ICMP (ping) echo հարցումը ձեր սերվերի համար, պարզապես մուտքագրեք հետևյալը ձեր տերմինալում:
sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP
Այժմ, Այն չի պատասխանի որևէ ICMP ping echo-ի հարցմանը: Ասենք, ձեր սերվերի IP հասցեն 13.13.13.13 է: Եվ եթե ձեր սերվերի այդ IP-ն պինգ եք անում, ապա կտեսնեք, որ ձեր սերվերը չի արձագանքում այդ պինգ հարցումին:
MySql/MariaDB պորտի արգելափակում
Քանի որ Mysql-ը պահում է ձեր տվյալների բազան, այնպես որ դուք պետք է պաշտպանեք ձեր տվյալների բազան արտաքին կցումից: Թույլ տվեք ձեր վստահելի հավելվածի սերվերի IP հասցեներին միայն միանալ ձեր MySQL սերվերին: Մյուսներին արգելափակելու համար
sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
Այսպիսով, այն չի վերցնի որևէ MySql կապ, բացի 192.168.1.0/24 IP բլոկից: Լռելյայն MySql-ն աշխատում է 3306 պորտով:
SMTP-ի արգելափակում
Եթե դուք չեք աշխատում փոստի որևէ սերվեր ձեր հոսթ սերվերի վրա կամ եթե ձեր սերվերը կազմաձևված չէ փոստի սերվերի նման գործելու համար, դուք պետք է արգելափակեք SMTP-ն այնպես, որ ձեր սերվերը որևէ սպամ կամ փոստ չուղարկի որևէ տիրույթ: Դուք պետք է դա անեք՝ ձեր սերվերից ցանկացած ելքային նամակ արգելափակելու համար: Դա անելու համար,
sudo iptables -A OUTPUT -p tcp --dport 25 -j DROP
Արգելափակել DDoS-ը
Մենք բոլորս ծանոթ ենք DDoS տերմինին: Դրանից ազատվելու համար ձեր տերմինալում թողարկեք հետևյալ հրամանը.
iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT
Դուք պետք է կազմաձևեք թվային արժեքը ձեր պահանջներին համապատասխանելու համար: Սա պարզապես պահպանելու չափանիշ է:
Դուք կարող եք ավելի շատ պաշտպանել
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/lo/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog
Նավահանգիստների սկանավորման արգելափակում
Կան հարյուրավոր մարդիկ, ովքեր սկանավորում են ձեր սերվերի բաց նավահանգիստները և փորձում են կոտրել ձեր սերվերի անվտանգությունը: Այն արգելափակելու համար
sudo iptables -N block-scan
sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST RST -m limit —limit 1/s -j RETURN
sudo iptables -A block-scan -j DROP
Այստեղ, block-scan-ը նոր շղթայի անուն է:
Վատ նավահանգիստների արգելափակում
Ձեզ կարող է անհրաժեշտ լինել նաև արգելափակել որոշ վատ նավահանգիստներ ձեր սերվերի համար: Ահա թե ինչպես կարող եք դա անել:
badport="135,136,137,138,139,445"
sudo iptables -A INPUT -p tcp -m multiport --dport $badport -j DROP
sudo iptables -A INPUT -p udp -m multiport --dport $badport -j DROP
Դուք կարող եք ավելացնել ավելի շատ նավահանգիստներ՝ ըստ ձեր կարիքների:
Firewalld-ը տրամադրում է դինամիկ կառավարվող firewall ցանցի/firewall գոտիների աջակցությամբ, որը սահմանում է ցանցային միացումների կամ միջերեսների վստահության մակարդակը: Այն ունի IPv4, IPv6 firewall-ի կարգավորումների, էթերնետ կամուրջների և IP հավաքածուների աջակցություն: Գործարկման ժամանակի և մշտական կազմաձևման տարբերակների տարանջատում կա: Այն նաև ապահովում է ինտերֆեյս ծառայությունների կամ հավելվածների համար՝ ուղղակիորեն firewall-ի կանոնները ավելացնելու համար:
Նախկին firewall մոդելը system-config-firewall/lokkit-ով ստատիկ էր, և յուրաքանչյուր փոփոխություն պահանջում էր firewall-ի ամբողջական վերագործարկում: Սա ներառում էր նաև firewall-ի ցանցային ֆիլտրի միջուկի մոդուլները բեռնաթափելու և նոր կազմաձևման համար անհրաժեշտ մոդուլները բեռնելու համար: Մոդուլների բեռնաթափումը խախտում էր պետական firewall-ը և հաստատված կապերը: Մյուս կողմից, firewall-ը դինամիկ կերպով կառավարում է firewall-ը և կիրառում փոփոխություններ՝ առանց ամբողջ firewall-ը վերագործարկելու: Հետևաբար կարիք չկա վերաբեռնել firewall միջուկի բոլոր մոդուլները: Բայց firewall daemon-ի օգտագործումը պահանջում է, որ firewall-ի բոլոր փոփոխությունները կատարվեն այդ daemon-ով, որպեսզի համոզվենք, որ daemon-ի և firewall-ի վիճակը համաժամանակյա են: Firewall daemon-ը չի կարող վերլուծել firewall-ի կանոնները, որոնք ավելացվել են iptables և ebtables հրամանի տող գործիքներով: Դեյմոնը տեղեկատվություն է տրամադրում ընթացիկ ակտիվ firewall-ի կարգավորումների մասին D-BUS-ի միջոցով և նաև ընդունում է փոփոխությունները D-BUS-ի միջոցով՝ օգտագործելով PolicyKit վավերացման մեթոդները:
Այսպիսով, firewalld-ն օգտագործում է գոտիներ և ծառայություններ՝ շղթայի և կանոնների փոխարեն՝ գործողությունները կատարելու համար, և այն կարող է կառավարել կանոն(ներ)ը դինամիկ կերպով թույլ տալով թարմացումներ և փոփոխություններ՝ առանց խախտելու առկա աշխատաշրջաններն ու կապերը:
Այն ունի հետևյալ հատկանիշները.
- D-Bus API.
- Ժամանակավորված firewall-ի կանոններ.
- Հարուստ լեզու հատուկ firewall կանոնների համար:
- IPv4 և IPv6 NAT աջակցություն:
- Firewall գոտիներ.
- IP հավաքածուի աջակցություն:
- Մերժված փաթեթների պարզ մատյան:
- Ուղղակի ինտերֆեյս:
- Արգելափակում. հավելվածների սպիտակ ցուցակում, որոնք կարող են փոփոխել firewall-ը:
- Աջակցություն iptables, ip6tables, ebtables և ipset firewall backend-ներին:
- Linux միջուկի մոդուլների ավտոմատ բեռնում:
- Ինտեգրում տիկնիկային.
Firewall-ի մասին ավելին իմանալու համար այցելեք այս հղումը:
Նախքան firewalld-ը տեղադրելը, համոզվեք, որ դադարեցրել եք iptable-ները և նաև համոզվեք, որ iptable-ներն այլևս չեն օգտագործում կամ չեն աշխատում: Դա անելու համար,
sudo systemctl stop iptables
Սա կկանգնեցնի iptable-ները ձեր համակարգից:
Եվ ապա համոզվեք, որ iptable-ներն այլևս չեն օգտագործվում ձեր համակարգի կողմից՝ տերմինալում թողնելով ստորև նշված հրամանը:
sudo systemctl mask iptables
Այժմ ստուգեք iptables-ի կարգավիճակը:
sudo systemctl status iptables
Այժմ մենք պատրաստ ենք մեր համակարգում տեղադրել firewalld:
Ubuntu-ի համար
Այն Ubuntu-ում տեղադրելու համար նախ պետք է հեռացնել UFW-ն, այնուհետև կարող եք տեղադրել Firewalld-ը: UFW-ն հեռացնելու համար տերմինալի վրա թողարկեք ստորև նշված հրամանը:
sudo apt-get remove ufw
UFW-ն հեռացնելուց հետո տերմինալում թողարկեք ստորև նշված հրամանը
sudo apt-get install firewall-applet
Կամ
Դուք կարող եք բացել Ubuntu Software Center-ը և փնտրել կամ փնտրել «firewall-applet»-ը, այնուհետև տեղադրել այն ձեր Ubuntu համակարգում:
RHEL, CentOS և Fedora-ի համար
Մուտքագրեք ստորև նշված հրամանը՝ ձեր CentOS համակարգում firewalld-ը տեղադրելու համար:
sudo yum install firewalld firewall-config -y
Նախքան firewalld-ը կարգավորելը, մենք պետք է իմանանք, թե ինչ կարգավիճակ ունի firewalld-ը տեղադրումից հետո: Դա իմանալու համար մուտքագրեք հետևյալը.
sudo systemctl status firewalld
Քանի որ firewall-ը աշխատում է գոտիների հիման վրա, մենք պետք է ստուգենք բոլոր գոտիները և ծառայությունները, թեև դեռ չենք կատարել որևէ կարգավորում։
Գոտիների համար
sudo firewall-cmd --get-active-zones
կամ
sudo firewall-cmd --get-zones
Լռելյայն գոտին իմանալու համար թողարկեք ստորև նշված հրամանը
sudo firewall-cmd --get-default-zone
Եվ Ծառայությունների համար
sudo firewall-cmd --get-services
Այստեղ դուք կարող եք տեսնել այդ ծառայությունները, որոնք ծածկված են firewall-ով:
Կարևոր նշում է, որ յուրաքանչյուր փոփոխությունից հետո դուք պետք է վերաբեռնեք firewall-ը, որպեսզի ձեր փոփոխությունները կատարվեն:
Լռելյայն գոտին սահմանելու համար
sudo firewall-cmd --set-default-zone=internal
կամ
sudo firewall-cmd --set-default-zone=public
Գոտին փոխելուց հետո ստուգեք՝ այն փոխվում է, թե ոչ։
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
Սա կավելացնի tcp պորտը 80 firewall-ի հանրային գոտում: Կարող եք նաև ավելացնել ձեր ուզած նավահանգիստը՝ փոխարինելով 80-ը ձերով:
Այժմ վերաբեռնեք firewall-ը:
sudo firewall-cmd --reload
Այժմ ստուգեք կարգավիճակը՝ տեսնելու, թե արդյոք tcp 80 պորտը ավելացվել է, թե ոչ:
sudo firewall-cmd --zone=public --list-ports
Այստեղ դուք կարող եք տեսնել, որ tcp պորտը ավելացվել է 80:
Կամ նույնիսկ կարող եք փորձել նման բան:
sudo firewall-cmd --zone=public --list-all
Tcp 80 նավահանգիստը հանրային գոտուց հեռացնելու համար մուտքագրեք հետևյալը.
sudo firewall-cmd --zone=public --remove-port=80/tcp
Դուք կտեսնեք «հաջող» տեքստ, որը արձագանքում է ձեր տերմինալում:
Դուք կարող եք տեղադրել նաև ձեր ուզած նավահանգիստը՝ 80-ը փոխարինելով ձեր սեփական նավահանգստով:
ftp ծառայությունը firewall-ում ավելացնելու համար թողարկեք ստորև նշված հրամանը
sudo firewall-cmd --zone=public --add-service=ftp
Դուք կտեսնեք «հաջող» տեքստ, որը արձագանքում է ձեր տերմինալում:
Նմանապես smtp ծառայություն ավելացնելու համար թողարկեք ստորև նշված հրամանը
sudo firewall-cmd --zone=public --add-service=smtp
Փոխարինեք ftp-ն և smtp-ն ձեր սեփական ծառայության միջոցով, որը ցանկանում եք ավելացնել firewall-ում:
FTP և smtp ծառայությունները firewalld-ից հեռացնելու համար տերմինալում թողարկեք ստորև նշված հրամանը:
sudo firewall-cmd --zone=public --remove-service=ftp
sudo firewall-cmd --zone=public --remove-service=smtp
Ցանկության դեպքում կարող եք արգելափակել ցանկացած մուտքային կամ ելքային փաթեթ/միացում՝ օգտագործելով firewall-ը: Սա հայտնի է որպես «խուճապի միացում» firewall-ում: Դա անելու համար թողարկեք ստորև նշված հրամանը:
sudo firewall-cmd --panic-on
Դուք կտեսնեք «հաջող» տեքստ, որը արձագանքում է ձեր տերմինալում:
Դա անելուց հետո դուք չեք կարողանա պինգ կատարել հոսթին կամ նույնիսկ զննել որևէ կայք:
Սա անջատելու համար թողարկեք ստորև նշված հրամանը ձեր տերմինալում:
sudo firewall-cmd --panic-off
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.4" accept'
Դրանով firewalld-ը կընդունի IP v4 փաթեթներ սկզբնաղբյուր IP 192.168.1.4-ից:
Նմանապես, ցանկացած IP հասցե արգելափակելու համար
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.4" reject'
Դրանով firewall-ը կթողնի/կհեռացնի յուրաքանչյուր IP v4 փաթեթ IP 192.168.1.4 աղբյուրից:
Ես հավատարիմ մնացի Firewalld-ի ամենահիմնականին այստեղ, որպեսզի կարողանաք հեշտությամբ հասկանալ դրա աշխատանքային մեթոդաբանությունը և դրա տարբերությունները iptable-ների հետ:
Այսօրվա համար այսքանն է: Հուսով ենք, որ դուք վայելում եք այս հոդվածը կարդալը:
Խնամել.