Điểm:0

Tor proxy trong suốt trên hộp giữa với mục tiêu tproxy nftables

lá cờ cn

Tôi có mạng sau:

.________. ._______.
| vm-cli | <==> <vi1s0| vm-gw |enp2s0> <==> internet
·--------· ·-------·

vm-cli có địa chỉ 192.168.255.2; enp1s0@vm-gw có 192.168.255.1; enp2s0@vm-gw, không thành vấn đề.

tôi muốn tất cả các lưu lượng truy cập internet để đi qua Tor. Để làm được điều đó, tôi định cấu hình Tor để sử dụng ổ cắm trong suốt và sử dụng định tuyến chính sách để chuyển tiếp lưu lượng truy cập tới nó.Trước tiên, tôi thêm một quy tắc định tuyến và xác định một bảng định tuyến thay thế để định tuyến mọi thứ tới máy chủ cục bộ:

quy tắc ip thêm fwmark 1 bảng 1
tuyến ip thêm cục bộ 0.0.0.0/0 dev lo bảng 1

Sau đó, tôi định cấu hình tường lửa đầu tiên để chuyển hướng vm-gw xuất ra proxy:

bảng proxy {
    # chuyển lưu lượng được chuyển hướng đến proxy
    chuyển hướng chuỗi {
        loại filter hook prerouting bộ lọc ưu tiên; chính sách chấp nhận;
        giao thức ip tcp đánh dấu 1 tproxy thành: 9040
    }
}

bảng cục bộ {
    # sử dụng NAT đích cho lưu lượng DNS vì nó không hoạt động với tproxy
    chuỗi dstNAT {
        gõ nat hook đầu ra ưu tiên mangle; chính sách chấp nhận;
        udp dport tên miền chuyển hướng đến: 9053
    }

    # đánh dấu tất cả lưu lượng truy cập không phải Tor đi đến giao diện được kết nối internet để được định tuyến lại
    định tuyến lại chuỗi {
        loại mangle ưu tiên đầu ra của route hook; chính sách chấp nhận;
        oif enp2s0 skuid != tor ip giao thức tcp meta mark set 1
    }
}

Đẹp, tôi kiểm tra nó với đàoXoăn: mọi thứ đều đi qua Tor.

Cái gì không hoạt động

Bây giờ tôi thêm quy tắc sau để chuyển hướng lưu lượng truy cập từ vm-cli hoặc bất kỳ máy chủ nào khác sử dụng vm-gw như cổng:

bảng điều khiển từ xa {
    định tuyến lại chuỗi {
        gõ nat hook prerouting ưu tiên mangle; chính sách chấp nhận;
        # lưu lượng truy cập DNS NAT'ing đích
        udp dport tên miền chuyển hướng đến: 9053
        # đánh dấu lưu lượng truy cập tcp từ enp1s0 cho định tuyến chính sách
        iif enp1s0 giao thức ip tcp meta mark set 1
    }
}

Tôi thử thực hiện một truy vấn DNS, nó hoạt động. Tôi cố gắng thực hiện một yêu cầu HTTP nhưng không có câu trả lời...

theo dõi các gói tin

Theo dõi các gói và xem nhật ký Tor, tôi có thể thấy điều đó vm-cli Lưu lượng TCP đến Tor. Nhưng mà Xoăn trên vm-cli có vẻ như nó không thấy bất kỳ câu trả lời HTTP nào.

Vì vậy, tôi cố gắng theo dõi phản hồi của máy chủ HTTP. Vì nó đến từ Tor nên tôi sẽ không thấy bất kỳ lưu lượng HTTP nào trong đầu vào, nhưng tôi sẽ thấy nó trong vm-gw đầu ra. Sau đó, tôi thêm quy tắc sau để theo dõi:

bảng cục bộ {
    đầu ra chuỗi {
        loại móc bộ lọc đầu ra bộ lọc ưu tiên; chính sách chấp nhận;
        tcp sport 80 ip Daddr 192.168.255.2 meta nftrace tập 1
    }

    [â¦]
}

Đang làm cuộn tròn http://perdu.com trên vm-cli Tôi nhận được dấu vết sau trên vm-gw:

theo dõi id 2fc29112 ip gói đầu ra cục bộ: oif "enp1s0" 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 length 60 tcp sport 80 tcp dport 57082 tcp flags == 0x12 cửa sổ tcp 65160
theo dõi id 2fc29112 ip quy tắc đầu ra cục bộ tcp sport 80 ip daddr 192.168.255.2 meta nftrace set 1 (tiếp tục phán quyết)
theo dõi id 2fc29112 ip kết quả đầu ra cục bộ tiếp tục
theo dõi id 2fc29112 ip chấp nhận chính sách đầu ra cục bộ

Và ở đó, mọi thứ đều đúng với tôi... có câu trả lời từ máy chủ HTTP, đích đến là vm-cli sử dụng enp1s0 giao diện.

Tôi cố gắng theo dõi gói tin trên vm-cli. Ở đó chúng ta có thể thấy gói gửi đi và phản hồi của nó:

theo dõi id d9101d30 gói đầu ra của bộ lọc ip: oif "enp2s0" ip saddr 192.168.255.2 ip daddr 208.97.177.124 ip dscp cs0 ip ecn not-ect ip ttl 64 ip id 40142 ip length 60 tcp sport 57124 tcp dport 80 tcp flags == syn cửa sổ tcp 64240 
theo dõi id d9101d30 quy tắc đầu ra của bộ lọc ip tcp dport 80 meta nftrace set 1 (tiếp tục phán quyết)
theo dõi id d9101d30 kết quả đầu ra của bộ lọc ip tiếp tục
theo dõi id d9101d30 chấp nhận chính sách đầu ra của bộ lọc ip

theo dõi id 51163d64 gói định tuyến trước bộ lọc ip: iif "enp2s0" ether saddr 52:54:00:bd:38:6d ether 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 chiều dài ip 60 tcp sport 80 tcp dport 57124 tcp flags == 0x12 tcp window 65160 
theo dõi id 51163d64 quy tắc định tuyến trước bộ lọc ip meta nftrace set 1 (tiếp tục phán quyết)
dấu vết id 51163d64 phán quyết định tuyến trước bộ lọc ip tiếp tục 
theo dõi id 51163d64 chính sách định tuyến trước bộ lọc ip chấp nhận

Tôi có thể thấy:

  1. một gói đi từ 192.168.255.2:57124 đến 208.97.177.124:80
  2. một câu trả lời từ 208.97.177.124:80 đến 192.168.255.2:57124

Địa chỉ và cổng khớp nhau⦠cuộn tròn --verbose cho biết rằng kết nối đã được thiết lập, nhưng tại sao yêu cầu HTTP không nhận được bất kỳ câu trả lời nào?

mạng lưới xác nhận với tôi rằng phản hồi HTTP không đến được ứng dụng. tôi cũng đã thử hi vọngvà với thiết lập tproxy, tôi nhận được các bản sao:

hping perdu.com --destport 80 --syn --count 10
HPING perdu.com (enp2s0 208.97.177.124): Bộ S, 40 tiêu đề + 0 byte dữ liệu
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
CÚP! 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
CÚP! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=1 win=64240 rtt=1099,9 ms
len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=3 win=64240 rtt=29,8 ms
CÚP! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=2 win=64240 rtt=1059,9 ms
CÚP! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=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
CÚP! len=44 ip=208.97.177.124 ttl=64 DF id=0 sport=80 flags=SA seq=3 win=64240 rtt=1079,9 ms

--- perdu.com thống kê hping ---
Truyền 5 gói, nhận 10 gói, mất gói -100%
khứ hồi tối thiểu/trung bình/tối đa = 9,8/749,9/3120,0 mili giây

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.