Score:1

วิธีบังคับให้ทราฟฟิกทั้งหมดสำหรับกลุ่มผู้ใช้ Linux บนอินเทอร์เฟซเดียว

ธง de

เรากำลังเรียกใช้เซิร์ฟเวอร์เทอร์มินัล Linux Mint 20.2 โดยใช้ เดสก์ท็อประยะไกลของ ThinLinc. เราตั้งค่ากลุ่มหลักสำหรับผู้ใช้ทั้งหมดเป็น 'พนักงาน' หรือ 'นักเรียน' อย่างไม่เป็นทางการ เราจำเป็นต้องให้การเข้าถึงอินเทอร์เน็ตที่ไม่มีการกรองของกลุ่ม 'พนักงาน' (ผ่านอุปกรณ์ enp1s0) ผ่านเกตเวย์ LAN โดยตรง เราจำเป็นต้องให้สิทธิ์การเข้าถึงแบบกรองกลุ่ม 'นักเรียน' (ผ่านอุปกรณ์ enp1s0.20) บน vlan ผ่านเกตเวย์ pfSense การเข้าถึงที่ไม่ผ่านการกรองทำงานได้ดี การปิดใช้งาน enp1s0 และส่งทราฟฟิกทั้งหมดออกผ่านเกตเวย์ที่กรองจะทำงานตามที่คาดไว้ เรายังสามารถบล็อกกลุ่มนักเรียนได้ด้วยกฎ iptables นี้:

iptables -A OUTPUT -p tcp -m multiport --dport 80,443 -m เจ้าของ --gid-เจ้าของ "นักเรียน" -j DROP

แต่ฉันไม่ได้ค้นพบวิธีบังคับให้ทราฟฟิก 'นักเรียน' ออกจาก vlan โดยเปิดใช้งานทั้งสองอินเทอร์เฟซ

ขอบคุณมากล่วงหน้า

Score:1
ธง de

ฉันใช้เวลาหลายชั่วโมง (มากเกินไป!) ค้นคว้าและสำรวจโซลูชันต่างๆ ก่อนที่จะโพสต์ที่นี่ แต่คุณไม่รู้หรือว่าฉันพบคำตอบของตัวเองภายในไม่ถึงชั่วโมงต่อมา คำตอบของ Intika ในที่สุดคำถามอื่นก็พาฉันไปที่ ทิศทางที่ถูกต้อง. ฉันแน่ใจว่ามีวิธีแก้ไขปัญหาเกี่ยวกับเนมสเปซเครือข่าย ฯลฯ แต่นี่เป็นวิธีที่ง่ายที่สุดในการบรรลุจุดสิ้นสุดที่เราต้องการ

iptables -t mangle -A OUTPUT -m เจ้าของ --gid-เจ้าของ "นักเรียน" -j MARK --set-mark 42
iptables -t nat -A POSTROUTING -o enp1s0.20 -m เครื่องหมาย --mark 42 -j SNAT --to-source 192.168.20.10
กฎ ip เพิ่ม fwmark 42 ตาราง 42
เส้นทาง ip เพิ่มค่าเริ่มต้นผ่าน 192.168.20.2 dev enp1s0.20 ตาราง 42
บันทึก netfilter-ถาวร

vlan IP คือ 192.168.20.10; เกตเวย์ที่กรองคือ 192.168.20.2

หมายเหตุ 1: iptables-save ไม่ทำให้สิ่งนี้คงอยู่เมื่อรีบูต; netfilter-persistent เท่านั้นที่จะบันทึกการเปลี่ยนแปลง iptables

หมายเหตุ 2: สิ่งนี้ไม่ได้บันทึกการกำหนดค่าเส้นทาง ip จำเป็นต้องตั้งค่าให้โหลดซ้ำทุกครั้งที่เปิดใช้งานอินเทอร์เฟซใหม่ (ถอดปลั๊ก รีบูต ฯลฯ) เพื่อให้การกำหนดค่านี้คงอยู่ คุณต้องกำหนดค่าไฟล์ที่เหมาะสมใน /etc/netplan เนื่องจากฉันไม่สามารถแยกวิเคราะห์ไวยากรณ์หรือค้นหาตัวอย่างที่เกี่ยวข้องได้ ฉันจึงผนวก iptables ดั้งเดิม -j ลดลง กฎและบันทึกสิ่งนี้ (ด้วย netfilter-persistent) เพื่อให้ในกรณีที่มีการรีเซ็ตเครือข่ายแบบอัตโนมัติ การเข้าถึงของนักเรียนทั้งหมดจะถูกบล็อก จากนั้นฉันได้เขียนสคริปต์ง่าย ๆ เพื่อลบบรรทัดนั้นออกจากตารางตัวกรองและเพิ่ม เส้นทางไอพี สายอีกครั้ง

#!/bin/bash
# ลบบล็อกถาวรในกลุ่ม 'นักเรียน' ออกจากตารางตัวกรอง: sudo iptables -D OUTPUT -p tcp -m multiport --dport 80,443 -m Owner --gid-owner "students" -j DROP
# เพิ่มนโยบายเส้นทางที่ไม่คงอยู่เมื่อรีสตาร์ทเครือข่ายโดยไม่แก้ไขการกำหนดค่า netplan:
เส้นทาง sudo ip เพิ่มค่าเริ่มต้นผ่าน 192.168.20.2 dev enp1s0.20 ตาราง 42
echo "ควรกำหนดค่าการเข้าถึงที่กรองสำหรับกลุ่ม 'นักเรียน'"
ทางออก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา