Tôi đang cố chuyển hướng lưu lượng localhost trên cổng cụ thể sang ip mạng bắc cầu
Tôi đang sử dụng sau đây
tiếng vang"
rdr chuyển inet proto tcp từ bất kỳ sang bất kỳ cổng nào 9300 -> 192.168.64.29 cổng 9300
rdr chuyển inet proto tcp từ bất kỳ sang bất kỳ cổng 3406 -> 192.168.64.29 cổng 3406
rdr chuyển inet proto tcp từ bất kỳ sang bất kỳ cổng nào 1234 -> 127.0.0.1 cổng 8000
" | sudo pfctl -ef -
nó hoạt động tốt cho 1234 -> 8000
Tôi có máy chủ Python đơn giản chạy trên cổng 8000
python -m http.server 8000 --bind 127.0.0.1
Truy cập http://localhost:1234/ tải máy chủ chạy trên 8000 độc đáo
đầu ra của trạng thái sudo pfctl -s
TẤT CẢ tcp 127.0.0.1:8000 <- 127.0.0.1:58791 FIN_WAIT_2:FIN_WAIT_2
TẤT CẢ tcp 127.0.0.1:8000 <- 127.0.0.1:58792 FIN_WAIT_2:FIN_WAIT_2
Nhưng quy tắc tương tự để chuyển hướng 127.0.0.1:9300 -> 192.168.64.29:9300
và 127.0.0.1:3406 -> 192.168.64.29:3406
không hoạt động
tôi có thể thấy SYN_SENT
trong đầu ra của trạng thái sudo pfctl -s
đầu ra
TẤT CẢ tcp 127.0.0.1:8000 <- 127.0.0.1:58791 FIN_WAIT_2:FIN_WAIT_2
TẤT CẢ tcp 127.0.0.1:8000 <- 127.0.0.1:58792 FIN_WAIT_2:FIN_WAIT_2
TẤT CẢ tcp 192.168.64.29:9300 <- 127.0.0.1:9300 <- 127.0.0.1:58796 ĐÃ ĐÓNG: SYN_SENT
TẤT CẢ tcp 192.168.64.29:9300 <- 127.0.0.1:9300 <- 127.0.0.1:58797 ĐÃ ĐÓNG: SYN_SENT
Tôi đã đọc trong một số chủ đề rằng tôi cần kích hoạt tính năng chuyển tiếp nhưng điều đó dường như không hoạt động
Sudo sysctl -w net.inet.ip.forwarding=1
Tôi mở cổng 9300 và 3406 trên IP 192.168.64.29
đó là trên cầu100
inet 192.168.64.1 netmask 0xffffff00 phát sóng 192.168.64.255
Proto Recv-Q Send-Q Địa chỉ cục bộ Địa chỉ nước ngoài Trạng thái PID/Tên chương trình
tcp 0 0 0.0.0.0:3406 0.0.0.0:* NGHE -
tcp 0 0 0.0.0.0:9300 0.0.0.0:* NGHE -
tcp 0 0 127.0.0.53:53 0.0.0.0:* NGHE -
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE -
tcp6 0 0 :::2375 :::* NGHE -
tcp6 0 0 :::3406 :::* NGHE -
tcp6 0 0 :::9300 :::* NGHE -
tcp6 0 0 :::22 :::* NGHE -
SYN_SENT: ĐÃ ĐÓNG
không chắc tại sao/nếu nó bị chặn nhưng truy cập 192.168.64.29:9300 hoạt động tốt