Score:0

ไม่สามารถใช้ fwmark บน Debian 11 (bulleyes) เพื่อเปลี่ยนพฤติกรรมการกำหนดเส้นทาง

ธง gf

ฉันมีสูตรที่ฉันใช้ในหลายกรณีแล้ว แต่คราวนี้ใช้ไม่ได้กับ Debian 11 (เคอร์เนล 5.10.0-10-amd64)

การตั้งค่าของฉันนั้นเป็นอินเทอร์เฟซภายใน eth0 สำหรับ RFC1918 LAN และอินเทอร์เฟซภายนอกสองอินเทอร์เฟซที่เชื่อมต่อกับ Box ของ ISP บางตัว:

eth1 สำหรับ ISP1 เป็นเราเตอร์เริ่มต้นที่ 10.0.0.254 พร้อม IP สาธารณะ 1.2.3.4 (เปรียบเปรย)

eth2 สำหรับ ISP2 มีเราเตอร์ที่ 10.0.3.254 พร้อมสาธารณะ 2.3.4.5

ฉันมีเส้นทางที่เป็นไปได้ที่แตกต่างกัน ฉันต้องการควบคุมเส้นทางที่แพ็คเก็ตของฉันใช้ ดังนั้นฉันจึงสร้างกฎและ fwmark ก่อนอื่นฉันผนวก 2<tab>เราเตอร์ตัวที่สอง ใน /etc/iproute2/rt_tables

กฎ ip เพิ่ม fwmark 0x3 ค้นหาเราเตอร์ตัวที่สอง
เส้นทาง ip เพิ่มค่าเริ่มต้นผ่าน 10.0.3.254 ตาราง secondrouter

ทุกอย่างดีเกี่ยวกับ ตารางรายการเส้นทาง ip เราเตอร์ตัวที่สอง และ รายการกฎ ip

ในเวลานี้ฉันสามารถทำได้:

ขด -4 ifconfig.me
1.2.3.4 #<- ที่อยู่ IP สาธารณะของเส้นทางเริ่มต้นของฉัน

ถ้าอย่างนั้นฉันก็ทำ

iptables-legacy -t mangle -A OUTPUT -d 34.117.59.81 -j MARK --set-mark 0x3 

ตอนนี้ถ้าฉันทำ

ขด -4 ifconfig.me
<หมดเวลา>

ที่ฉันคาดหวัง 2.3.4.5 เป็น IP สาธารณะ เห็นได้ชัดว่าแพ็กเก็ตที่ทำเครื่องหมายไว้ไม่ได้ใช้เส้นทางจากตารางเส้นทาง ip แย่กว่านั้นคือหมดเวลา

ถ้าฉันทำแบบเดียวกันกับ Debian รุ่นเก่า มันทำงานได้อย่างสมบูรณ์แบบ

หมายเหตุ: ถ้าฉันทำ

เส้นทาง ip เพิ่ม 34.117.59.81 ผ่าน < IP เราเตอร์ที่สอง >

การทดสอบการขดของฉันทำงานได้อย่างสมบูรณ์ตามที่คาดไว้

ขด -4 ifconfig.me
2.3.4.5 #<- เผยแพร่ที่อยู่ IP ของเราเตอร์ตัวที่สองของฉัน

ปัญหาของฉันเกิดขึ้นเมื่อใช้งาน iptables หรือ iptables-มรดก เพื่อทำเครื่องหมายแพ็คเก็ตไปยังเส้นทาง BTW ฉันมีกฎ iptables มากมายที่ใช้งานได้ดี ดังนั้นมันจึงดูเหมือนไม่ใช่ปัญหาของ iptables

iptables-มรดกบันทึก 
# สร้างโดย iptables-save v1.8.7 เมื่อวันอาทิตย์ที่ 23 มกราคม 22:35:06 น. 2565
* แหลกเหลว
: ยอมรับ [41:5019]
: ยอมรับอินพุต [41:5019]
:ส่งต่อ ยอมรับ [0:0]
: ยอมรับเอาต์พุต [44:4752]
:หลังยอมรับ [44:4752]
-A OUTPUT -d 192.168.0.0/16 -j ผลตอบแทน
-A OUTPUT -d 172.16.0.0/12 -j ผลตอบแทน
-A OUTPUT -d 10.0.0.0/8 -j ผลตอบแทน
-A OUTPUT -d 34.117.59.81/32 -j MARK --set-xmark 0x3/0xffffffff
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 23 ม.ค. 22:35:06 น. 2565
# สร้างโดย iptables-save v1.8.7 เมื่อวันอาทิตย์ที่ 23 มกราคม 22:35:06 น. 2565
*กรอง
:อินพุตลดลง [19:7746]
:ทิ้งไปข้างหน้า [0:0]
: ยอมรับเอาต์พุต [846:62420]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ACCEPT
-A อินพุต -i lo -j ยอมรับ
-A อินพุต -p icmp -j ยอมรับ
-A INPUT -p udp -m udp --dport 500 -j ยอมรับ
-A อินพุต -p esp -j ยอมรับ
-A อินพุต -p อา -j ยอมรับ
-อินพุต -p tcp -m tcp --dport 22 -j ยอมรับ
-อินพุต -s 192.168.0.0/16 -p tcp -m tcp --dport 3128 -j ยอมรับ
-อินพุต -s 172.16.0.0/12 -p tcp -m tcp --dport 3128 -j ยอมรับ
-อินพุต -s 10.0.0.0/8 -p tcp -m tcp --dport 3128 -j ยอมรับ
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ยอมรับ
-A ไปข้างหน้า -s 192.168.0.0/16 -d 10.0.6.0/24 -j ยอมรับ
-A ไปข้างหน้า -s 10.0.6.0/24 -d 192.168.0.0/16 -j ยอมรับ
ให้สัญญา
# เสร็จสิ้นเมื่อ อา. 23 ม.ค. 22:35:06 น. 2565
us flag
โปรดเพิ่มผลลัพธ์ของ `iptables-save` ให้กับคำถาม
dominix avatar
gf flag
@tero-kilkanen ... เสร็จแล้ว
Score:0
ธง gf

เมื่อแพ็กเก็ตออกจากเครื่อง จะได้รับที่อยู่ IP ต้นทางที่สอดคล้องกับอินเทอร์เฟซเอาต์พุตเริ่มต้น

ดังนั้นจึงจำเป็นต้องเพิ่มกฎ MASQUERADE บนอินเทอร์เฟซเอาต์พุต เนื่องจากกฎการทำเครื่องหมายทำให้แพ็กเก็ตของเรามีปลายทางอื่นนอกเหนือจากที่วางแผนไว้

iptables-legacy -t nat -A POSTROUTING -o eth2 -j MASQUERADE

เพื่อประโยชน์ในการทำความเข้าใจลำดับการประมวลผลของ netfilter : (ผ่าน ปลูฟ)

                     (อินเทอร์เฟซอินพุต)
                             |
                             โวลต์
                     /-------+------\
                     | ตรวจสุขภาพ |
                     \-------+-------/
                             |
                             v ขอ NF_IP_PRE_ROUTING
                      +------++++
                      | คอนแทรค |
                      | จัดเรียงข้อมูล |
                      +------------+
                      | ยุ่งเหยิง |
                      | การแนะนำ |
                      +------------+
                      | แนท (dst) |
                      | การแนะนำ |
                      +------++++
                             |
                             โวลต์
        จัดส่งในพื้นที่ /----+----\ ส่งต่อ
       +--------------+ เส้นทาง ------------+
       | \---------/ |
       โวลต์ โวลต์
 /-----+-----\ /-----+-----\
 | จัดเรียงข้อมูล | | ตรวจสอบ TTL |
 \-----+-----/ | ธันวาคม ทีทีแอล |
       | \-----+-----/
       v ขอ NF_IP_LOCAL_IN |
+------++++ |
| ยุ่งเหยิง (1) | |
| อินพุต | |
+------------+ |
| ตัวกรอง | โวลต์
| อินพุต | /-----+-----\
+------------+ | ตรวจสอบ DF |
| แนท (src)(2)| \-----+-----/
+------------+ |
| คอนแทรค | |
| ยืนยัน | | 
+------++++ ตะขอ v NF_IP_FORWARD
       | +------++++
       วี | ยุ่งเหยิง (1) |
/------+--------\ | ส่งต่อ |
| กระบวนการท้องถิ่น | +------------|
\------+--------/ | ตัวกรอง |
       | | ส่งต่อ |
       v +------++++
 /-----+-----\ |
 | เส้นทาง | |
 | เศษ | |
 \-----+-----/ |
       | |
       v ขอ NF_IP_LOCAL_OUT |
+------++++ |
| คอนแทรค | |
| จัดเรียงข้อมูล | |
+------------+ |
| ยุ่งเหยิง | |
| เอาต์พุต | |
+------------+ v
| แนท (dst)(3)| /-----+-----\
| เอาต์พุต | | เศษ |
+------------+ \-----+-----/
| ตัวกรอง | |
| เอาต์พุต | |
+------++++ |
       | |
       วี |
 /-----+-----\ |
 | เปลี่ยนเส้นทาง | |
 \-----+-----/ |
       | |
       +-----------------+ +------------------+
                          | |
                          v v hook NF_IP_POST_ROUTING
                      +---+-----+---+
                      | ยุ่งเหยิง (1) |
                      | การโพสต์ |
                      +------------+
                      | แนท (src) |
                      | จัดเรียงข้อมูล |
                      | การโพสต์ |
                      +------------+
                      | คอนแทรค |
                      | ยืนยัน |
                      | เศษ |
                      +------++++
                             |
                             โวลต์
                   (อินเทอร์เฟซเอาต์พุต)

โพสต์คำตอบ

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