Đủ dễ dàng với iptables. Nó có thể có các quy tắc phù hợp với người dùng cụ thể và bạn nên đã thiết lập tor
để chạy theo ID người dùng của chính nó; gói deb và vòng / phút được cung cấp bởi các bản phân phối Linux lớn và Dự án Tor đã thiết lập người dùng cho Tor.
Hoàn thành mẫu, iptables có thể sử dụng và cấu hình Tor theo sau. Tường lửa này có thể được tải với iptables-restore
lệnh. Kết quả cuối cùng của cấu hình này sẽ định tuyến trong suốt tất cả lưu lượng truy cập có nguồn gốc từ hoặc được chuyển tiếp qua máy chủ đến Tor mà không cần phải định cấu hình proxy. Cấu hình này phải chống rò rỉ; mặc dù bạn tất nhiên nên kiểm tra nó kỹ lưỡng.
Lưu ý rằng uid cho người dùng tor (ở đây, 998
) được lưu trữ dưới dạng số bởi iptables. Thay thế uid chính xác cho người dùng tor của bạn ở mỗi nơi nó xuất hiện ở đây.
Cũng lưu ý rằng địa chỉ IP của máy chủ cần phải được cung cấp trong quy tắc đầu tiên để hỗ trợ clearnet đến và lưu lượng LAN được gửi trực tiếp đến máy chủ (ở đây hiển thị dưới dạng 198.51.100.212
). Nếu bạn có nhiều địa chỉ IP, hãy lặp lại quy tắc cho từng địa chỉ.
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 198.51.100.212/32 -j RETURN
-A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 49151
-A OUTPUT -o lo -j RETURN
-A OUTPUT -m owner --uid-owner 998 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 49151
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp -d 127.0.0.1 --dport 22 -j ACCEPT
-A INPUT -j LOG --log-prefix "IPv4 REJECT INPUT: "
-A FORWARD -j LOG --log-prefix "IPv4 REJECT FORWARD: "
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 49151 -j ACCEPT
-A OUTPUT -m owner --uid-owner 998 -m conntrack --ctstate NEW -j ACCEPT
-A OUTPUT -j LOG --log-prefix "IPv4 REJECT OUTPUT: "
COMMIT
Quy tắc ssh INPUT chỉ cho phép các kết nối nếu chúng đến thông qua máy chủ cục bộ, tức là dịch vụ ẩn Tor. Nếu bạn cũng muốn cho phép các kết nối ssh đến thông qua clearnet, hãy xóa -d 127.0.0.1
.
Các torrc
tập tin tương ứng là:
User toranon
SOCKSPort 9050
DNSPort 53
TransPort 49151
AutomapHostsOnResolve 1
Cấu hình này yêu cầu máy chủ lưu trữ có địa chỉ IP tĩnh. Đối với các trường hợp sử dụng dự kiến, có khả năng bạn đã lên kế hoạch cho nó để có một địa chỉ IP tĩnh.
Và cuối cùng, đầu ra!
[root@unknown ~]# curl ifconfig.me
31.31.73.71
[root@unknown ~]# host 31.31.73.71
71.73.31.31.in-addr.arpa domain name pointer cronix.sk.
[root@unknown ~]# curl ifconfig.me
178.20.55.16
[root@unknown ~]# host 178.20.55.16
16.55.20.178.in-addr.arpa domain name pointer marcuse-1.nos-oignons.net.