คำถามติดแท็ก iptables

iptables อนุญาตให้สร้างกฎเพื่อกำหนดพฤติกรรมการกรองแพ็คเก็ต

2
วิธีการแก้ไขกฎ iptables ผ่านการแก้ไขไฟล์แทนที่จะโต้ตอบผ่าน command line?
ในประวัติศาสตร์ฉันจะแก้ไขไฟล์จากนั้น รีบูตเซิร์ฟเวอร์ทั้งหมด ฉันจะโคลนบรรทัดที่มีพอร์ต 22 เปิด เปลี่ยนเป็น 80 แล้วบันทึกไฟล์ .. และรีบูต ระบบทั้งหมดดังนั้น iptables จะเริ่มต้นด้วยพอร์ต 80 เปิด แต่ในครั้งล่าสุด .. ไฟล์นั้นไม่มีอยู่ ใน centos 6.5 OS ของฉันอีกต่อไป คำตอบส่วนใหญ่ใน google แนะนำให้ฉันต้องโต้ตอบกับ iptables เพื่อเปิดใช้งานและปิดการใช้งานพอร์ต เป็นไปได้หรือไม่ที่จะไม่โต้ตอบกับ iptables แต่ เพียงแค่เห็นทุกสิ่งที่อยู่ข้างหน้าของคุณเป็นไฟล์เดียวที่สามารถแก้ไขได้?
27 centos  iptables 


4
การรับส่งข้อมูลบนอินเทอร์เฟซต่าง ๆ ขึ้นอยู่กับพอร์ตปลายทาง
คำถามของฉันเป็นพื้นเดียวกับที่อนุญาตเฉพาะการจราจรขาออกบางอย่างในการเชื่อมต่อบางอย่าง ฉันมีสองอินเตอร์เฟสeth1(10.0.0.2) และwlan0(192.168.0.2) eth1เส้นทางเริ่มต้นของผมคือ สมมติว่าผมต้องการให้ทุก https wlan0การจราจรที่จะไปผ่าน ตอนนี้ถ้าฉันใช้โซลูชันที่แนะนำในคำถามอื่นการรับส่งข้อมูลของ https จะผ่านwlan0แต่จะยังคงมีแหล่งที่อยู่ของeth1(10.0.0.2) เนื่องจากที่อยู่นี้ไม่สามารถกำหนดเส้นทางได้สำหรับwlan0เกตเวย์คำตอบจะไม่กลับมา วิธีที่ง่ายคือการตั้งค่า bind-addr อย่างถูกต้องในแอปพลิเคชัน แต่ในกรณีนี้มันไม่สามารถใช้ได้ ฉันคิดว่าฉันต้องเขียน src-addr ใหม่: # first mark it so that iproute can route it through wlan0 iptables -A OUTPUT -t mangle -o eth1 -p tcp --dport 443 -j MARK --set-mark 1 # now rewrite the src-addr …

1
netfilter / iptables: ทำไมไม่ใช้ตารางดิบ?
ภายใต้ Linux เรามักจะใช้ตาราง "ตัวกรอง" เพื่อทำการกรองแบบทั่วไป: iptables --table filter --append INPUT --source 1.2.3.4 --jump DROP iptables --table filter --append INPUT --in-interface lo --jump ACCEPT ตามแผนภูมิการไหลของ netfilter ด้านล่างแพ็คเก็ตเดินทางผ่านตาราง "ดิบ" เป็นครั้งแรก: ดังนั้นเราสามารถเขียน: iptables --table raw --append PREROUTING --source 1.2.3.4 --jump DROP iptables --table raw --append PREROUTING --in-interface lo --jump ACCEPT แพ็กเก็ตได้รับการจัดการเร็วกว่าโดยไม่จำเป็นต้องไปถึงแม้ว่าการกำหนดเส้นทาง conntrack + …
22 linux  iptables 

1
วิธีที่ iptables สำรวจตารางและโซ่เชื่อมโยงกัน
ฉันรู้ว่า linux มีตารางในตัว 3 ตัวและแต่ละตัวมีโซ่ของตัวเองดังต่อไปนี้: ตัวกรอง : การเตรียมการก้าวไปข้างหน้าการโพสต์ข้อความ NAT : การเตรียมการ, อินพุต, เอาต์พุต, การโพสต์ MANGLE : PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING แต่ฉันไม่เข้าใจว่าพวกมันถูกสำรวจโดยวิธีใดถ้ามี ตัวอย่างเช่นพวกเขาสำรวจเส้นทางอย่างไรเมื่อ: ฉันส่งแพ็คเก็ตไปยังพีซีในเครือข่ายท้องถิ่นเดียวกัน เมื่อฉันส่งแพ็คเก็ตไปยังพีซีในเครือข่ายอื่น เมื่อเกตเวย์ได้รับแพ็คเก็ตและมันจะต้องส่งต่อ เมื่อฉันได้รับแพ็คเก็ตปลายทางให้ฉัน กรณีอื่น ๆ (ถ้ามี)

2
อะไรคือความแตกต่างระหว่างเครือข่าย OUTPUT และ FORWARD ใน iptables
CentOS 6.0 ฉันกำลังเรียน iptables และกำลังสับสนกับความแตกต่างระหว่างเครือข่าย FORWARD และ OUTPUT ในเอกสารการฝึกอบรมของฉันระบุว่า: หากคุณต่อท้าย (-A) หรือลบจากห่วงโซ่ (-D) คุณจะต้องการนำไปใช้กับข้อมูลเครือข่ายที่เดินทางในหนึ่งในสามทิศทาง: INPUT - แพ็กเก็ตที่เข้ามาทั้งหมดจะถูกตรวจสอบกับกฎในห่วงโซ่นี้ OUTPUT - แพ็กเก็ตขาออกทั้งหมดถูกตรวจสอบกับกฎในห่วงโซ่นี้ ไปข้างหน้า - แพ็คเก็ตทั้งหมดที่ถูกส่งไปยังคอมพิวเตอร์เครื่องอื่นจะถูกตรวจสอบกับกฎในห่วงโซ่นี้ สิ่งนี้ทำให้ฉันสับสนเพราะในความคิดของฉันแพ็คเก็ตออกไปสำหรับโฮสต์ที่จะออกไป มีสถานการณ์ที่แพ็คเก็ตจะไปที่คอมพิวเตอร์เครื่องอื่น แต่ไม่ใช่ "ขาออก" หรือไม่? iptables จะแยกความแตกต่างระหว่างทั้งสองได้อย่างไร
22 linux  iptables 

5
ไม่สามารถเปลี่ยนเส้นทางการค้นหา DNS IP และพอร์ตได้
ฉันได้ค้นพบว่า ISP ของฉัน (verizon) กำลังสกัดกั้นการรับส่งข้อมูล DNS ทั้งหมดบนพอร์ต 53 ใช้ iptables ฉันต้องการเปลี่ยนเส้นทางการค้นหา DNS ทั้งหมดไปยัง IP และพอร์ตเฉพาะ (5353) ความพยายามใด ๆ ที่ทำให้คอมพิวเตอร์ของฉันเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นที่พอร์ต 53 ควรถูกเปลี่ยนเส้นทางไปที่ 23.226.230.72/5353 เพื่อตรวจสอบเซิร์ฟเวอร์ DNS และพอร์ตที่ฉันพยายามจะใช้ฉันได้รันคำสั่งนี้ ~$ dig +short serverfault.com @23.226.230.72 -p5353 198.252.206.16 นี่เป็นกฎ iptables ที่ฉันพยายามใช้ iptables -t nat -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 23.226.230.72:5353 …
21 iptables  dns 

4
ส่งต่อไปยังไคลเอนต์ VPN หรือไม่
ฉันพบกับปริศนานิดหน่อยและไม่เคยโชคดีในการหาทางออก ตอนนี้ฉัน (เศร้า) เชื่อมต่อกับเน็ตผ่าน Verizon 3G พวกเขากรองทราฟฟิกที่เข้ามาทั้งหมดดังนั้นจึงเป็นไปไม่ได้ที่ฉันจะเปิดพอร์ตเพื่อยอมรับการเชื่อมต่อ ขณะนี้ฉันมีเครื่องเสมือนของ Linux ที่ linode.com และความคิดนั้นทำให้ฉันติดตั้งpptpdและพยายามทำการiptablesส่งต่อพอร์ต ฉันได้pptpdติดตั้งและเครื่องที่บ้านของฉันเชื่อมต่ออย่างมีความสุข ที่กล่าวว่าต่อไปนี้เป็นข้อมูลทั่วไป: เซิร์ฟเวอร์ (Debian) WAN IP: xxxx บน eth0 - pptpd IP: yyy1 บน ppp0 - IP VPN ของไคลเอ็นต์: yyy100 ในการตรวจสอบว่าฉันไม่ได้บ้าฉันพยายามเชื่อมต่อจากเซิร์ฟเวอร์ไปยังพอร์ตที่เปิดอยู่บนไคลเอนต์และลูกค้ายอมรับการเชื่อมต่อผ่าน VPN IP สิ่งที่ฉันต้องการทำให้สำเร็จคือ: อินเทอร์เน็ต -> WAN IP: พอร์ต -> ส่งต่อไปยังไคลเอ็นต์ VPN IP: พอร์ต ตัวอย่างเช่นถ้าฉันเปิดพอร์ต 6,000 บนไคลเอ็นต์ของฉันบุคคลหนึ่งสามารถโทรไปที่ xxxx: …

2
(/ etc / sysconfig / iptables)“ ไม่แนะนำให้ปรับแต่งไฟล์นี้ด้วยตนเอง” เพราะเหตุใด
การแก้ไขไฟล์นี้โดยตรง /etc/sysconfig/iptables สามารถช่วยฉันปวดหัวมากเวลามากและ ... และยังอยู่ด้านบนสุดของไฟล์มันบอกว่า .. Manual customization of this file is not recommended. นี่คือ '/ etc / sysconfig / iptables' ที่เพิ่งมาพร้อมกับคลาวด์เซิร์ฟเวอร์ centos ใหม่ 6.4 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] …

1
ไม่มีเส้นทางไปยังโฮสต์ด้วย nc แต่สามารถ ping ได้
ฉันกำลังพยายามเชื่อมต่อกับพอร์ต 25 กับ netcat จากเครื่องเสมือนหนึ่งไปยังอีกเครื่องหนึ่ง แต่กำลังบอกฉันno route to hostแม้ว่าฉันจะสามารถ ping ได้ ฉันมีการตั้งค่านโยบายเริ่มต้นของไฟร์วอลล์ของฉันที่จะลดลง แต่ฉันมีข้อยกเว้นที่จะยอมรับปริมาณการใช้งานสำหรับพอร์ต 25 ในเครือข่ายย่อยที่เฉพาะเจาะจงนั้น ฉันสามารถเชื่อมต่อจาก VM 3 ถึง VM 2 บนพอร์ต 25 ด้วย nc แต่ไม่ใช่จาก VM 2 ถึง 3 นี่เป็นตัวอย่างของกฎไฟร์วอลล์ของฉันสำหรับ VM2 นี่เป็นตัวอย่างของกฎไฟร์วอลล์ของฉันสำหรับ VM 3 เมื่อฉันแสดงบริการฟังฉันมี*:25ซึ่งหมายความว่ามันกำลังฟังที่อยู่ ipv4 ทั้งหมดและ:::25ที่อยู่ ipv6 ฉันไม่เข้าใจว่าข้อผิดพลาดอยู่ที่ใดและทำไมไม่ทำงานทั้งกฎของไฟร์วอลล์ยอมรับการรับส่งข้อมูลบนพอร์ต 25 ดังนั้นจึงควรทำการเชื่อมต่อ ฉันลองเปรียบเทียบความแตกต่างระหว่างทั้งสองเพื่อดูว่าทำไมฉันสามารถเชื่อมต่อจาก vm3 กับ vm2 ได้ แต่การตั้งค่าเหมือนกันทั้งหมด ข้อเสนอแนะใด ๆ …

3
ฉันจะเปลี่ยนเส้นทางของทราฟฟิกขาออกไปยังพอร์ต 80 โดยใช้ iptables แบบโลคัลได้อย่างไร
iptablesฉันพยายามที่จะเปลี่ยนเส้นทางพอร์ตไว้บนเครื่องของฉันโดยใช้อูบุนตู คล้ายกับพร็อกซี่โปร่งใส ฉันต้องการจับทุกสิ่งที่พยายามออกจากระบบของฉันบนพอร์ต 80 และเปลี่ยนเส้นทางไปยังโฮสต์และพอร์ตระยะไกล ฉันสามารถทำได้โดยใช้ NAT และฟังก์ชั่นการกำหนดเส้นทางล่วงหน้าของiptablesหรือไม่

2
อินเตอร์เฟสเครือข่าย tun สำหรับทำหน้าที่อะไร
ฉันสังเกตเห็นเมื่อใช้ ifconfig ว่ามีอินเตอร์เฟสเครือข่ายชื่อ tun0 และมีที่อยู่ ipv4 การวิจัยแสดงให้เห็นว่ามันเป็นอุปกรณ์ในการขุดอุโมงค์ แต่ฉันไม่รู้ว่ามันถูกใช้อย่างไรสิ่งที่ใช้มันและทำไมมันถึงมีที่อยู่ IP ฉันเปิดใช้งาน iptables แล้วและดูเหมือนว่าจะมีการเชื่อมโยงระหว่าง iptables และ tun หากมีสิ่งนี้ช่วยได้

2
ต่อไฟร์วอลล์กระบวนการ?
ฉันอ่านมาแล้ว แต่ไม่สามารถหาวิธีสร้างกฎไฟร์วอลล์ต่อกระบวนการได้ ฉันรู้iptables --uid-ownerแต่ก็ใช้ได้กับการรับส่งข้อมูลขาออกเท่านั้น ฉันได้พิจารณาการเขียนสคริปต์netstatและiptablesแต่ดูเหมือนว่าไม่มีประสิทธิภาพชะมัดเพราะถ้ากระบวนการที่มีการใช้งานเฉพาะสำหรับขนาดเล็กกรอบเวลาสคริปต์ที่อาจจะพลาดมัน โดยทั่วไปฉันต้องการบังคับใช้ข้อ จำกัด เฉพาะเกี่ยวกับพอร์ตและ dst ในกระบวนการขณะที่ปล่อยให้กระบวนการอื่นไม่ได้รับผลกระทบ ความคิดใด ๆ สำหรับการอ้างอิง selinux สามารถทำสิ่งนี้ได้และมันก็ทำงานได้ค่อนข้างดี การตั้งค่าเป็นเรื่องที่เจ็บปวดเล็กน้อย

4
ตั้งค่าไฟร์วอลล์พอร์ตให้ยอมรับการเชื่อมต่อเครือข่ายท้องถิ่นเท่านั้นหรือไม่
ฉันจะตั้งค่าไฟร์วอลล์บนระบบใน LAN เพื่อให้บางพอร์ตเปิดเฉพาะการเชื่อมต่อจากเครือข่ายท้องถิ่นและไม่ใช่จากโลกภายนอกได้อย่างไร ตัวอย่างเช่นฉันมีกล่องที่ใช้Scientific Linux 6.1 (เป็น RHEL based distro) และฉันต้องการเซิร์ฟเวอร์ SSH เพื่อยอมรับการเชื่อมต่อจาก localhost หรือ LAN เท่านั้น ฉันจะทำสิ่งนี้ได้อย่างไร
18 ssh  iptables  firewall 

1
พร็อกซี SOCKS แบบโปร่งใสรู้ได้อย่างไรว่า IP ปลายทางใดที่จะใช้
มีสองผู้รับมอบฉันทะจากถุงเท้าที่ฉันรู้เกี่ยวกับว่าการสนับสนุนพร็อกซีโปร่งใสสำหรับการเชื่อมต่อใด ๆ TCP ขาออก: Torและredsocks ซึ่งแตกต่างจากพร็อกซี HTTP พร็อกซี SOCKS เหล่านี้สามารถพร็อกซีการเชื่อมต่อ TCP ขาออกใด ๆโปร่งใสรวมถึงโปรโตคอลและโปรโตคอลที่เข้ารหัสโดยไม่มีข้อมูลเมตาหรือส่วนหัว พร็อกซีทั้งสองนี้ต้องการการใช้ NAT เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล TCP ใด ๆ ไปยังพอร์ตโลคัลของพร็อกซี ตัวอย่างเช่นถ้าฉันใช้ Tor ด้วยTransPort 9040บนเครื่องของฉันฉันจะต้องเพิ่มกฎ iptables ดังนี้: iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-port 9040 ตามความรู้ของฉันสิ่งนี้จะแทนที่ IP ปลายทางเดิมและพอร์ตด้วย127.0.0.1และ9040ดังนั้นเนื่องจากนี่เป็นสตรีมที่เข้ารหัส (เช่น SSH) หรือหนึ่งโดยไม่มีส่วนหัว (เช่นwhois ) พร็อกซีรู้จัก IP ปลายทางและพอร์ตดั้งเดิมอย่างไร
18 iptables  proxy  socks  tor 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.