Score:0

Tor พร็อกซีโปร่งใสบนกล่องตรงกลางที่มีเป้าหมาย tproxy nftables

ธง cn

ฉันมีเครือข่ายต่อไปนี้:

.________. ._______.
| vm-cli | <==> <enp1s0| vm-gw |enp2s0><==> อินเทอร์เน็ต
เธ·--------····------------·

vm-cli มีที่อยู่ 192.168.255.2; enp1s0@vm-gw มี 192.168.255.1; enp2s0@vm-gw ไม่เป็นไร

ฉันต้องการ ทั้งหมด การรับส่งข้อมูลอินเทอร์เน็ตผ่าน Tor สำหรับสิ่งนั้น ฉันกำหนดค่า Tor ให้ใช้ซ็อกเก็ตแบบโปร่งใส และใช้การกำหนดเส้นทางนโยบายเพื่อส่งต่อทราฟฟิกไปยังซ็อกเก็ตนั้นก่อนอื่นฉันเพิ่มกฎการกำหนดเส้นทางและกำหนดตารางเส้นทางอื่นที่กำหนดเส้นทางทุกอย่างไปยัง localhost:

กฎ ip เพิ่ม fwmark 1 ตาราง 1
เส้นทาง ip เพิ่มท้องถิ่น 0.0.0.0/0 dev lo ตาราง 1

จากนั้นฉันกำหนดค่าไฟร์วอลล์เพื่อเปลี่ยนเส้นทางก่อน vm-gw ส่งออกไปยังพร็อกซี:

พร็อกซีตาราง {
    # ส่งผ่านทราฟฟิกที่เบี่ยงเบนไปยังพร็อกซี
    เปลี่ยนสายโซ่ {
        ประเภทตัวกรอง hook prerouting ตัวกรองลำดับความสำคัญ; นโยบายยอมรับ;
        โปรโตคอล ip tcp ทำเครื่องหมาย 1 tproxy ถึง: 9040
    }
}

ตารางท้องถิ่น {
    # ใช้ NAT ปลายทางสำหรับการรับส่งข้อมูล DNS เนื่องจากใช้งานไม่ได้กับ tproxy
    ห่วงโซ่ dstNAT {
        พิมพ์ nat hook เอาท์พุตลำดับความสำคัญ mangle; นโยบายยอมรับ;
        udp dport เปลี่ยนเส้นทางโดเมนไปที่ :9053
    }

    # ทำเครื่องหมายการรับส่งข้อมูลที่ไม่ใช่ของ Tor ทั้งหมดไปยังอินเทอร์เฟซที่เชื่อมต่ออินเทอร์เน็ตเพื่อเปลี่ยนเส้นทาง
    เปลี่ยนเส้นทางลูกโซ่ {
        ประเภทเส้นทางเบ็ดลำดับความสำคัญของเอาต์พุต นโยบายยอมรับ;
        oif enp2s0 skuid != tor ip protocol tcp เมตาดาเมตาชุดที่ 1
    }
}

ดีฉันทดสอบด้วย ขุด และ ขด: ทุกอย่างต้องผ่าน ตม.

อะไรไม่ทำงาน

ตอนนี้ฉันเพิ่มกฎต่อไปนี้เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล vm-cli หรือโฮสต์อื่น ๆ ที่ใช้ vm-gw เป็นเกตเวย์:

ตารางระยะไกล {
    เปลี่ยนเส้นทางลูกโซ่ {
        พิมพ์ nat hook การกำหนดลำดับความสำคัญก่อนกำหนด นโยบายยอมรับ;
        # ปลายทาง NAT กำลังรับส่งข้อมูล DNS
        udp dport เปลี่ยนเส้นทางโดเมนไปที่ :9053
        # ทำเครื่องหมายการรับส่งข้อมูล tcp จาก enp1s0 สำหรับการกำหนดเส้นทางนโยบาย
        iif enp1s0 ip protocol tcp meta mark ชุดที่ 1
    }
}

ฉันพยายามสร้างแบบสอบถาม DNS มันใช้งานได้ ฉันพยายามส่งคำขอ HTTP แต่ไม่มีคำตอบใดๆ

การติดตามแพ็กเก็ต

ติดตามแพ็กเก็ตและดูที่บันทึกของ Tor ฉันเห็นสิ่งนั้น vm-cli การรับส่งข้อมูล TCP ไปที่ Tor แต่ ขด บน vm-cli ดูเหมือนว่าจะไม่เห็นคำตอบ HTTP เลย

ดังนั้นฉันจึงพยายามติดตามการตอบสนองของเซิร์ฟเวอร์ HTTP เนื่องจากมาจาก Tor ฉันจะไม่เห็นทราฟฟิก HTTP ในอินพุต แต่ฉันจะเห็นใน vm-gw เอาต์พุต จากนั้นฉันเพิ่มกฎต่อไปนี้สำหรับการติดตาม:

ตารางท้องถิ่น {
    เอาต์พุตลูกโซ่ {
        ประเภทตัวกรองลำดับความสำคัญของเอาต์พุตของตะขอตัวกรอง; นโยบายยอมรับ;
        tcp sport 80 ip daddr 192.168.255.2 เมตา nftrace ชุดที่ 1
    }

    [â¦]
}

ทำ ขด http://perdu.com บน vm-cli ฉันได้รับการติดตามต่อไปนี้บน vm-gw:

รหัสการติดตาม 2fc29112 ip แพ็กเก็ตเอาต์พุตในเครื่อง: oif "enp1s0" ip saddr 208.97.177.124 ip daddr 192.168.255.2 ip dscp cs0 ip ecn ไม่ ect ip ttl 64 ip id 0 ความยาวของ ip 60 tcp sport 80 tcp dport 57082 tcpx1 == แฟล็ก หน้าต่าง tcp 65160
รหัสการติดตาม 2fc29112 ip กฎเอาต์พุตในเครื่อง tcp sport 80 ip daddr 192.168.255.2 meta nftrace set 1 (คำตัดสินดำเนินการต่อ)
ติดตาม id 2fc29112 ip คำตัดสินผลลัพธ์ในเครื่องดำเนินการต่อ
ติดตาม id 2fc29112 ip ยอมรับนโยบายเอาต์พุตในเครื่อง

และที่นั่น ทุกอย่างดูถูกต้องสำหรับฉัน มีคำตอบจากเซิร์ฟเวอร์ HTTP ปลายทางคือ vm-cli ใช้ enp1s0 อินเตอร์เฟซ.

ฉันพยายามติดตามแพ็กเก็ตบน vm-cli. ที่นั่นเราสามารถเห็นแพ็กเก็ตขาออกและการตอบสนอง:

รหัสการติดตาม d9101d30 แพ็กเก็ตตัวกรองเอาต์พุต ip: oif "enp2s0" ip saddr 192.168.255.2 ip daddr 208.97.177.124 ip dscp cs0 ip ecn ไม่ ect ip ttl 64 ip id 40142 ความยาวของ ip 60 tcp sport 57124 tcp dport ธง == หน้าต่าง tcp 64240 
รหัสการติดตาม d9101d30 กฎเอาต์พุตตัวกรอง ip tcp dport 80 meta nftrace set 1 (คำตัดสินดำเนินการต่อ)
ติดตาม id d9101d30 ip filter ตัดสินผลลัพธ์ต่อไป
ยอมรับนโยบายเอาต์พุตตัวกรอง ip รหัสติดตาม d9101d30

รหัสการติดตาม 51163d64 ตัวกรอง ip แพ็กเก็ตการกำหนดเส้นทางล่วงหน้า: iif "enp2s0" อีเธอร์ saddr 52:54:00:bd:38:6d อีเธอร์ daddr 52:54:00:f0:a2:51 ip saddr 208.97.177.124 ip daddr 192.168.255.2 ip dscp cs0 ip ecn not-ect ip ttl 64 ip id 0 ความยาวของ ip 60 tcp sport 80 tcp dport 57124 tcp flag == 0x12 tcp window 65160 
รหัสการติดตาม 51163d64 ตัวกรอง ip การกำหนดเส้นทางล่วงหน้า กฎเมตา nftrace ชุดที่ 1 (คำตัดสินดำเนินการต่อ)
ติดตาม id 51163d64 ตัวกรอง ip กำหนดเส้นทางก่อนตัดสินดำเนินการต่อ 
ติดตาม id 51163d64 ตัวกรอง ip ยอมรับนโยบายการกำหนดเส้นทางล่วงหน้า

ฉันเห็น:

  1. แพ็กเก็ตขาออกจาก 192.168.255.2:57124 ถึง 208.97.177.124:80
  2. คำตอบจาก 208.97.177.124:80 ถึง 192.168.255.2:57124

ที่อยู่และพอร์ตตรงกัน⦠ขด -- verbose แจ้งว่าสร้างการเชื่อมต่อแล้ว แต่ทำไมคำขอ HTTP จึงไม่ได้รับคำตอบ

เน็ตแคท ยืนยันฉันว่าการตอบกลับ HTTP ไม่ได้รับแอปพลิเคชัน ฉันยังพยายาม กำลังและด้วยการตั้งค่า tproxy ฉันได้รับรายการที่ซ้ำกัน:

hping perdu.com --destport 80 --syn --นับ 10
HPING perdu.com (enp2s0 208.97.177.124): ชุด S, 40 ส่วนหัว + 0 ไบต์ข้อมูล
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=64240 rtt=9.8 ms
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=1 win=64240 rtt=9.8 ms
ดั๊บ! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=0 win=64240 rtt=1049.9 ms
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=64240 rtt=9.8 ms
ดั๊บ! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flag=SA seq=1 win=64240 rtt=1099.9 ms
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flag=SA seq=3 win=64240 rtt=29.8 ms
ดั๊บ! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=64240 rtt=1059.9 ms
ดั๊บ! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flag=SA seq=0 win=64240 rtt=3120.0 ms
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=4 win=64240 rtt=29.8 ms
ดั๊บ! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flag=SA seq=3 win=64240 rtt=1079.9 ms

--- perdu.com hping สถิติ ---
5 แพ็กเก็ตที่ส่งออก, 10 แพ็กเก็ตที่ได้รับ, -100% แพ็กเก็ตที่สูญหาย
ไป-กลับ นาที/เฉลี่ย/สูงสุด = 9.8/749.9/3120.0 ms

โพสต์คำตอบ

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