ฉันคิดเกี่ยวกับสองสิ่งเกี่ยวกับ iptables มาระยะหนึ่งแล้วผู้ที่มองหาบทเรียนเหล่านี้ส่วนใหญ่เป็นผู้เริ่มต้นและประการที่สองหลายคนมองหาสิ่งที่ค่อนข้างเรียบง่ายและมีรายละเอียดอยู่แล้ว
ตัวอย่างนี้ใช้สำหรับเว็บเซิร์ฟเวอร์แต่คุณสามารถเพิ่มกฎและปรับให้เข้ากับความต้องการของคุณได้อย่างง่ายดาย
เมื่อคุณเห็นการเปลี่ยนแปลง "x" สำหรับ ip ของคุณ
#!/bin/bash
# เราทำความสะอาดตาราง iptables -F iptables -X # เราทำความสะอาด NAT iptables -t nat -F iptables -t nat -X # mangle table สำหรับสิ่งต่างๆเช่น PPPoE, PPP และ ATM iptables -t mangle -F iptables -t mangle -X # นโยบายฉันคิดว่านี่เป็นวิธีที่ดีที่สุดสำหรับผู้เริ่มต้นและ # ก็ยังไม่แย่ฉันจะอธิบายเอาต์พุต (เอาต์พุต) ทั้งหมดเนื่องจากเป็นการเชื่อมต่อขาออก # อินพุตเราทิ้งทุกอย่างและไม่ควรส่งต่อเซิร์ฟเวอร์ iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. ทุกอย่างที่เชื่อมต่อแล้ว (สร้างขึ้นแล้ว) จะถูกทิ้งไว้เช่น iptables นี้ -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device iptables -A INPUT -i lo -j ACCEPT # http, https เราไม่ได้ระบุอินเทอร์เฟซเนื่องจาก # เราต้องการให้เป็นสำหรับ iptables ทั้งหมด -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp - dport 443 -j ACCEPT # ssh เฉพาะภายในและจากช่วงของ iptables ของ ip นี้ -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j ACCEPT # การตรวจสอบเช่นหากมี zabbix หรือบริการ snmp อื่น ๆ iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 10050 -j ACCEPT # icmp ping ดีขึ้นอยู่กับคุณ iptables -A INPUT -p icmp -s 192.168 xx / 24 - i $ intranet -j ACCEPT #mysql ที่มี postgres คือพอร์ต 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j ยอมรับ #sendmail bueeeh หากคุณต้องการส่งเมล #iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # IP ของเซิร์ฟเวอร์ - wan ip จริงของเซิร์ฟเวอร์ของคุณ LAN_RANGE = "192.168.xx / 21 "# LAN ของเครือข่ายของคุณหรือ vlan # Ip ของคุณที่ไม่ควรเข้าสู่เอกซ์ทราเน็ตคือการใช้ตรรกะ # เล็กน้อยหากเรามีอินเทอร์เฟซ WAN ล้วนๆไม่ควรป้อนทราฟฟิกประเภท # LAN ผ่านอินเทอร์เฟซนั้น SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0 .16 / XNUMX "# การกระทำเริ่มต้น - จะดำเนินการเมื่อกฎใด ๆ ตรงกับ ACTION =" DROP "# แพ็กเก็ตที่มี ip เดียวกันของเซิร์ฟเวอร์ของฉันผ่าน wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ เอกซ์ทราเน็ต -s $ SERVER_IP -j $ ACTION # แพ็คเก็ตที่มีช่วง LAN สำหรับ wan ฉันใส่ไว้เช่นนี้ในกรณีที่คุณมี # เครือข่ายใด ๆ แต่จะซ้ำซ้อนกับกฎ # ต่อไปนี้ภายใน ลูป "สำหรับ" iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## เครือข่าย SPOOF ทั้งหมดไม่อนุญาตโดย wan สำหรับ ip ใน $ SPOOF_IPS ทำ iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION done
เช่นเคยฉันรอความคิดเห็นของคุณโปรดติดตามในบล็อกนี้ขอบคุณ
มันช่วยให้ฉันเรียนรู้ต่อไปได้มากขึ้นขอบคุณที่คัดลอกมา
ยินดีต้อนรับยินดีที่จะให้ความช่วยเหลือ
ฉันขอโทษจริงๆ แต่ฉันมีสองคำถาม (และอีกหนึ่งคำถามเป็นของขวัญ😉):
คุณจะมาพร้อมกับการกำหนดค่านี้เพื่อให้ Apache ทำงานและปิดส่วนที่เหลือยกเว้น SSH หรือไม่?
# เราทำความสะอาดโต๊ะ
iptables-F
iptables-X
เราทำความสะอาด NAT
iptables -t แนท -F
iptables -t แนท -X
iptables -A INPUT -p tcp –dport 80 -j ยอมรับ
ssh เฉพาะภายในและจากช่วงของ ip นี้
iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet –dport 7659 -j ยอมรับ
คำถามที่สอง: 7659 เป็นพอร์ตที่ใช้ใน SSH ในตัวอย่างนี้หรือไม่
และที่สามและสุดท้าย: ควรบันทึกการกำหนดค่านี้ในไฟล์ใด
ขอบคุณมากสำหรับบทแนะนำนี้เป็นเรื่องน่าเสียดายที่คุณเป็นมือใหม่และไม่สามารถใช้ประโยชน์จากมันได้ดี
นี่คือกฎที่คุณต้องการสำหรับ http จาก apache
iptables -A INPUT -p tcp –dport 80 -j ยอมรับ
แต่คุณต้องประกาศนโยบายเริ่มต้นที่ลดลงด้วย (อยู่ในสคริปต์)
iptables -P อินพุตลดลง
iptables -P ยอมรับผลลัพธ์
iptables -P ไปข้างหน้า DROP
และนี่เป็นเพราะถ้าคุณอยู่ห่างไกลมันจะทำให้คุณทิ้ง
iptables -A INPUT -m state - State ESTABLISHED, RELATED -j ACCEPT
ถ้า 7659 เป็นพอร์ตของ ssh นั้นในตัวอย่างโดยค่าเริ่มต้นคือ 22 แม้ว่าฉันจะแนะนำให้เปลี่ยนเป็นพอร์ต "ไม่รู้จักกันดี"
ฉันไม่รู้อย่างที่คุณต้องการ ... firewall.sh และคุณใส่ไว้ใน rc.local (sh firewall.sh) เพื่อให้มันทำงานโดยอัตโนมัติขึ้นอยู่กับระบบปฏิบัติการที่คุณมีมีไฟล์ที่คุณ สามารถวางกฎได้โดยตรง
Eii ดีมากครับสคริปต์ของคุณวิเคราะห์มัน…. คุณรู้ไหมว่าฉันสามารถปฏิเสธคำขอทั้งหมดของผู้ใช้ของฉันไปยังเว็บไซต์ใดเว็บไซต์หนึ่งได้อย่างไร…. แต่เว็บไซต์นี้มีเซิร์ฟเวอร์จำนวนมาก….
ฉันขอแนะนำตัวเลือกอื่น ๆ :
1) คุณสามารถสร้างโซนปลอมใน DNS ของคุณ ...
2) คุณสามารถวางพร็อกซีด้วย acl
บาปห้าม
สำหรับ iptables คุณสามารถทำได้เช่นนี้ ... มันไม่ใช่ตัวเลือกที่ดีที่สุดเสมอไป (มีหลายวิธี)
iptables -A INPUT -s บล็อกdesdelinux.ne -j DROP
iptables -A เอาท์พุท -d บล็อกdesdelinux.net -j DROP
บอกฉันว่ามันได้ผล
ขอบคุณสำหรับคำตอบทุกอย่างชัดเจน ฉันถามเกี่ยวกับพอร์ตเพราะฉันรู้สึกประหลาดใจที่ใช้ 7659 เนื่องจากพอร์ตส่วนตัวเริ่มต้นที่ 49152 และอาจรบกวนบริการบางอย่างหรือบางอย่าง
ขอบคุณอีกครั้งสำหรับทุกสิ่งที่ดี!
อาศิรพจน์
BrodyDalle ฉันจะติดต่อคุณได้อย่างไร สคริปต์ของคุณน่าสนใจมาก
soulofmarionet_1@hotmail.com
ก่อนบรรทัดสุดท้าย "iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION" เพื่อป้องกันไม่ให้เครื่องของคุณปลอมแปลง หรือเป็นไปได้หรือไม่ที่แพ็คเก็ตที่มีพิษบางส่วนเข้ามาและสามารถออกจากแหล่งที่เป็นพิษนั้นได้และนั่นคือเหตุผลที่กฎนี้รวมอยู่ใน OUTPUT ด้วย?
ขอบคุณมากสำหรับคำชี้แจง !!!
นี่คือสคริปต์ iptables ของฉันเองมันสมบูรณ์มาก:
# franes.iptables.airy
# doc.iptables.airoso: iptables สำหรับรุ่นเก่าและสำหรับ nft
#
# พอร์ตไฟร์วอลล์
############################
#! / bin / ทุบตี
#
# ล้างหน้าจอ
############################### เริ่มต้น /etc/f-iptables/default.cfg |||||
ชัดเจน
# เว้นบรรทัดว่างไว้
เสียงสะท้อน
ส่งออกใช่ = »»ไม่ = »ปิดเสียงสะท้อน»
# ตัวแปรที่คุณสามารถเปลี่ยนแปลงเพื่ออนุญาตการเข้าถึง
####################### ตัวแปรที่จะแก้ไขด้วย $ yes หรือ $ no
ส่งออก hayexcepciones = » $ no »
# มีข้อยกเว้น: $ ใช่เพื่ออนุญาตโฮสต์พิเศษและ $ no เพื่อปิดใช้งาน
ส่งออก hayping = » $ no »
# hayping: $ ใช่เพื่ออนุญาตให้ส่ง Ping จากบุคคลที่สามและ $ no เพื่อปฏิเสธ
ส่งออก haylogserver = » $ no »
# haylogeosserver: $ ใช่เพื่อเข้าสู่ระบบ tcp $ no เพื่อไม่สามารถบันทึก tcp ได้
######
###################### ตัวแปรเพื่อแก้ไขการเพิ่ม "," หรือด้วยช่วง ":"
ข้อยกเว้นในการส่งออก = » baldras.wesnoth.org »
# ข้อยกเว้นอนุญาตให้โฮสต์เดียวหรือหลายโฮสต์จากไฟร์วอลล์หรือไม่มีค่า
ส่งออก logserver = ทิ้ง, ipp, dict, ssh
# พอร์ตเซิร์ฟเวอร์ tcp ที่ล็อกเมื่อแพ็กเก็ตเข้ามา
ส่งออก redserver = 0/0
# redserver: เครือข่ายสำหรับพอร์ตเซิร์ฟเวอร์ควรใช้เครือข่ายท้องถิ่นหรือหลาย ips
ลูกค้าส่งออกสีแดง = 0/0
#clientnet: เครือข่ายสำหรับพอร์ตไคลเอ็นต์เหมาะสำหรับทุกเครือข่าย
ส่งออก servidortcp = ทิ้ง, ipp, dict, 6771
# servidortcp: พอร์ตเซิร์ฟเวอร์ tcp ที่ระบุ
ส่งออก serverudp = ทิ้ง
#udpserver: พอร์ตเซิร์ฟเวอร์ udp ที่ระบุ
ส่งออก clientudp = โดเมน, bootpc, bootps, ntp, 20000: 45000
#udp client: พอร์ตไคลเอ็นต์ udp ที่ระบุ
ส่งออก clienttcp = โดเมน, http, https, ipp, git, dict, 14999: 15002
# tcp client: พอร์ตไคลเอ็นต์ tcp ที่ระบุ
############################## ตอนท้ายของ /etc/f-iptables/default.cfg |||||
################################ ตอนท้ายของตัวแปรที่จะแก้ไข
ส่งออกไฟร์วอลล์ = ตัวแปร $ 1 = $ 2
ถ้า ["$ variable" = "$ NULL"]; แล้วแหล่งที่มา /etc/f-iptables/default.cfg;
แหล่งอื่น / etc / f-iptables / $ 2; fi
################################ หรือจะเขียนทับตัวแปรด้วยไฟล์. cfg
################################################# ##########################################
ไฟร์วอลล์ส่งออก = ตัวแปรการส่งออก $ 1 = $ 2
####################################################### ตัวแปรระบบอัตโนมัติ
ถ้า ["$ firewall" = "disconnected"]; จากนั้นสะท้อนไฟร์วอลถูกยกเลิกการเชื่อมต่อ;
ส่งออก activateserver = » $ no » activateclient = » $ no » wet = » $ no »;
elif ["$ firewall" = "client"] จากนั้นจึงก้อง FIREWALL CLIENT;
ส่งออก activateserver = » $ no » activateclient = »» wet = » $ no »;
elif ["$ firewall" = "เซิร์ฟเวอร์"]; จากนั้นสะท้อนเซิร์ฟเวอร์ FIREWALL;
ส่งออก activateserver = »» activateclient = » $ no » wet = » $ no »;
elif ["$ firewall" = "ไคลเอนต์และเซิร์ฟเวอร์"]; จากนั้นสะท้อนลูกค้าและเซิร์ฟเวอร์ของไฟร์วอลล์
ส่งออกเปิดใช้งานเซิร์ฟเวอร์ = »»; ส่งออก activateclient = »»; ส่งออกเปียก = » $ no »;
elif ["$ firewall" = "อนุญาต"]; จากนั้นสะท้อนไฟที่อนุญาต;
ส่งออก activateserver = » $ no » activateclient = » $ no » wet = »»;
อื่น
$ ตรวจสอบ sudo echo iptables-legacy:
$ ตรวจสอบ sudo iptables-legacy -v -L INPUT
$ ตรวจสอบ sudo iptables-legacy -v -L OUTPUT
$ ตรวจสอบ sudo echo iptables-nft:
$ ตรวจสอบ sudo iptables-nft -v -L INPUT
$ ตรวจสอบ sudo iptables-nft -v -L OUTPUT
echo _____parameters____ $ 0 $ 1 $ 2
echo "cast โดยไม่มีพารามิเตอร์คือการแสดงรายการ iptables"
echo "พารามิเตอร์แรก (เปิดใช้งาน iptables): ไม่ได้เชื่อมต่อหรือไคลเอนต์หรือเซิร์ฟเวอร์หรือไคลเอนต์และเซิร์ฟเวอร์หรืออนุญาต"
echo "พารามิเตอร์ที่สอง: (เป็นทางเลือก): ไฟล์ default.cfg เลือก /etc/f-iptables/default.cfg"
echo "การตั้งค่าตัวแปร:" $ (ls / etc / f-iptables /)
ออก 0; fi
#################
เสียงสะท้อน
echo โยน $ 0 ที่ไม่เชื่อมต่อหรือไคลเอนต์หรือเซิร์ฟเวอร์หรือไคลเอนต์และเซิร์ฟเวอร์หรืออนุญาตหรือตัวแปรหรือไม่ใช้พารามิเตอร์เพื่อแสดงรายการ iptables
echo ไฟล์ $ 0 มีตัวแปรที่แก้ไขได้ภายใน
################################# ตัวแปรข้างต้นเปิดใช้งาน
#################################
echo การตั้งค่าตัวแปร iptables
ตัวแปรที่เปิดใช้งาน echo
เสียงสะท้อน
############################ กฎ iptables
echo การตั้งค่า iptables-legacy
sudo / usr / sbin / iptables-legacy -t ตัวกรอง -F
sudo / usr / sbin / iptables-legacy -t nat -F
sudo / usr / sbin / iptables-legacy -t mangle -F
sudo / usr / sbin / ip6tables-legacy -t ตัวกรอง -F
sudo / usr / sbin / ip6tables-legacy -t nat -F
sudo / usr / sbin / ip6tables-legacy -t mangle -F
sudo / usr / sbin / ip6tables-legacy -A INPUT -j DROP
sudo / usr / sbin / ip6tables-legacy -A เอาท์พุท -j DROP
sudo / usr / sbin / ip6tables-legacy -A FORWARD -j DROP
sudo / usr / sbin / iptables-legacy -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
$ haylogserver sudo / usr / sbin / iptables-legacy -A INPUT -p tcp -m multiport –dports $ logserver -j LOG> / dev / null
$ hayeexceptions sudo / usr / sbin / iptables-legacy -A INPUT -s $ exceptions -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-legacy -A INPUT -p udp -m multiport –dports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-legacy -A INPUT -p tcp -m multiport –dports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-legacy -A INPUT -p udp -m multiport –sports $ clientudp -m state -state -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-legacy -A INPUT -p tcp -m multiport –sports $ clienttcp -m state -state -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ hayping sudo / usr / sbin / iptables-legacy -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT> / dev / null
sudo / usr / sbin / iptables-legacy -A INPUT -j DROP> / dev / null
sudo / usr / sbin / iptables-legacy -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
$ hayeexceptions sudo / usr / sbin / iptables-legacy -A OUTPUT -d $ exceptions -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-legacy -A OUTPUT -p udp -m multiport –sports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-legacy -A OUTPUT -p tcp -m multiport –sports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-legacy -A OUTPUT -p udp -m multiport –dports $ clientudp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-legacy -A OUTPUT -p tcp -m multiport –dports $ clienttcp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ hayping sudo / usr / sbin / iptables-legacy -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT> / dev / null
sudo / usr / sbin / iptables-legacy -A เอาท์พุท -j DROP
sudo / usr / sbin / iptables-legacy -A FORWARD -j DROP
เปิดใช้งาน echo iptables-legacy
เสียงสะท้อน
echo การตั้งค่า iptables-nft
sudo / usr / sbin / iptables-nft -t ตัวกรอง -F
sudo / usr / sbin / iptables-nft -t nat -F
sudo / usr / sbin / iptables-nft -t mangle -F
sudo / usr / sbin / ip6tables-nft -t ตัวกรอง -F
sudo / usr / sbin / ip6tables-nft -t nat -F
sudo / usr / sbin / ip6tables-nft -t mangle -F
sudo / usr / sbin / ip6tables-nft -A INPUT -j DROP
sudo / usr / sbin / ip6tables-nft -A เอาท์พุท -j DROP
sudo / usr / sbin / ip6tables-nft -A FORWARD -j DROP
sudo / usr / sbin / iptables-nft -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
$ haylogserver sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –dports $ logserver -j LOG> / dev / null
$ hayeexceptions sudo / usr / sbin / iptables-nft -A INPUT -s $ exceptions -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-nft -A INPUT -p udp -m multiport –dports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –dports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-nft -A INPUT -p udp -m multiport –sports $ clientudp -m state -state -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-nft -A INPUT -p tcp -m multiport –sports $ clienttcp -m state -state -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ hayping sudo / usr / sbin / iptables-nft -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT> / dev / null
sudo / usr / sbin / iptables-nft -A INPUT -j DROP> / dev / null
sudo / usr / sbin / iptables-nft -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ยอมรับ> / dev / null
$ hayexceptions sudo / usr / sbin / iptables-nft -A OUTPUT -d $ exceptions -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-nft -A OUTPUT -p udp -m multiport –sports $ serverudp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ เปิดใช้งานเซิร์ฟเวอร์ sudo / usr / sbin / iptables-nft -A OUTPUT -p tcp -m multiport –sports $ serverrtcp -s $ redserver -d $ redserver -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-nft -A OUTPUT -p udp -m multiport –dports $ clientudp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ activateclient sudo / usr / sbin / iptables-nft -A เอาท์พุท -p tcp -m multiport –dports $ clienttcp -s $ clientnet -d $ clientnet -j ACCEPT> / dev / null
$ hayping sudo / usr / sbin / iptables-nft -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT> / dev / null
sudo / usr / sbin / iptables-nft -A เอาท์พุท -j DROP
sudo / usr / sbin / iptables-nft -A FORWARD -j DROP
เปิดใช้งาน echo iptables-nft
เสียงสะท้อน
$ wet sudo / usr / sbin / iptables-legacy -F> / dev / null
$ wet sudo / usr / sbin / iptables-legacy -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
$ wet sudo / usr / sbin / iptables-legacy -A INPUT -m state - สร้างรัฐ -j ACCEPT> / dev / null
$ wet sudo / usr / sbin / iptables-legacy -A INPUT -j DROP> / dev / null
$ wet sudo / usr / sbin / iptables-legacy -A เอาท์พุท -j ยอมรับ> / dev / null
$ wet sudo / usr / sbin / iptables-legacy -A FORWARD -j DROP> / dev / null
$ เปียก sudo / usr / sbin / iptables-nft -F> / dev / null
$ wet sudo / usr / sbin / iptables-nft -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT> / dev / null
$ wet sudo / usr / sbin / iptables-nft -A INPUT -m state - สร้างสถานะ -j ACCEPT> / dev / null
$ เปียก sudo / usr / sbin / iptables-nft -A INPUT -j DROP> / dev / null
$ เปียก sudo / usr / sbin / iptables-nft -A เอาท์พุท -j ยอมรับ> / dev / null
$ เปียก sudo / usr / sbin / iptables-nft -A FORWARD -j DROP> / dev / null
###########################
เสียงสะท้อนคุณได้โยน $ 0 $ 1 $ 2
# ออกจากสคริปต์
ทางออก 0
ฉันจะตั้งกฎได้อย่างไรว่าไฟร์วอลล์นี้ใช้กับเกตเวย์ของฉันและมีปลาหมึกอยู่ใน LAN ???