Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Both sides previous revision Попередня ревізія Наступна ревізія | Попередня ревізія | ||
tor [2015/10/22 00:46] wombat Общесетевой |
tor [2015/10/22 00:54] (поточний) wombat [Ссылки] ArchLinux Wiki |
||
---|---|---|---|
Рядок 12: | Рядок 12: | ||
TransListenAddress 127.0.0.1 | TransListenAddress 127.0.0.1 | ||
TransListenAddress 192.168.1.1 | TransListenAddress 192.168.1.1 | ||
- | DNSPort 53 | + | DNSPort 5353 |
DNSListenAddress 127.0.0.1 | DNSListenAddress 127.0.0.1 | ||
DNSListenAddress 192.168.1.1 | DNSListenAddress 192.168.1.1 | ||
- | |||
- | ------------------ | ||
- | |||
- | RunAsDaemon 1 | ||
- | DataDirectory /var/lib/tor | ||
- | Log info file /var/lib/tor/log | ||
- | User debian-tor | ||
- | DNSPort 5300 | ||
- | TransPort 9040 | ||
</file> | </file> | ||
Рядок 38: | Рядок 29: | ||
$IPTABLES -t nat -F | $IPTABLES -t nat -F | ||
+ | |||
## Transproxy rules for Tor | ## Transproxy rules for Tor | ||
$IPTABLES -t nat -A OUTPUT ! -d 127.0.0.1 -m owner ! --uid-owner $TOR_UID -p tcp -j REDIRECT --to-ports 9040 | exit | $IPTABLES -t nat -A OUTPUT ! -d 127.0.0.1 -m owner ! --uid-owner $TOR_UID -p tcp -j REDIRECT --to-ports 9040 | exit | ||
$IPTABLES -t nat -A OUTPUT -p udp -m owner ! --uid-owner $TOR_UID -m udp --dport 53 -j REDIRECT --to-ports 5300 || exit | $IPTABLES -t nat -A OUTPUT -p udp -m owner ! --uid-owner $TOR_UID -m udp --dport 53 -j REDIRECT --to-ports 5300 || exit | ||
+ | |||
+ | # First rules in OUTPUT chain | ||
+ | #iptables -A OUTPUT -m conntrack --ctstate INVALID -j LOG --log-prefix "Transproxy ctstate leak blocked: " --log-uid | ||
+ | iptables -A OUTPUT -m conntrack --ctstate INVALID -j DROP | ||
+ | iptables -A OUTPUT -m state --state INVALID -j LOG --log-prefix "Transproxy state leak blocked: " --log-uid | ||
+ | iptables -A OUTPUT -m state --state INVALID -j DROP | ||
+ | |||
+ | iptables -A OUTPUT ! -o lo ! -d 127.0.0.1 ! -s 127.0.0.1 -p tcp -m tcp --tcp-flags ACK,FIN ACK,FIN -j LOG --log-prefix "Transproxy leak blocked: " --log-uid | ||
+ | iptables -A OUTPUT ! -o lo ! -d 127.0.0.1 ! -s 127.0.0.1 -p tcp -m tcp --tcp-flags ACK,RST ACK,RST -j LOG --log-prefix "Transproxy leak blocked: " --log-uid | ||
+ | iptables -A OUTPUT ! -o lo ! -d 127.0.0.1 ! -s 127.0.0.1 -p tcp -m tcp --tcp-flags ACK,FIN ACK,FIN -j DROP | ||
+ | iptables -A OUTPUT ! -o lo ! -d 127.0.0.1 ! -s 127.0.0.1 -p tcp -m tcp --tcp-flags ACK,RST ACK,RST -j DROP | ||
+ | |||
+ | |||
# Allow Tor and the network user | # Allow Tor and the network user | ||
$IPTABLES -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT || exit | $IPTABLES -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT || exit | ||
Рядок 107: | Рядок 112: | ||
iptables -A OUTPUT -j REJECT | iptables -A OUTPUT -j REJECT | ||
</file> | </file> | ||
+ | |||
+ | <file bash "arch-iptables"> | ||
+ | /etc/iptables/iptables.rules | ||
+ | |||
+ | |||
+ | *nat | ||
+ | :PREROUTING ACCEPT [6:2126] | ||
+ | :INPUT ACCEPT [0:0] | ||
+ | :OUTPUT ACCEPT [17:6239] | ||
+ | :POSTROUTING ACCEPT [6:408] | ||
+ | |||
+ | -A PREROUTING ! -i lo -p udp -m udp --dport 53 -j REDIRECT --to-ports 5353 | ||
+ | -A PREROUTING ! -i lo -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040 | ||
+ | -A OUTPUT -o lo -j RETURN | ||
+ | --ipv4 -A OUTPUT -d 192.168.0.0/16 -j RETURN | ||
+ | -A OUTPUT -m owner --uid-owner "tor" -j RETURN | ||
+ | -A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 5353 | ||
+ | -A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040 | ||
+ | COMMIT | ||
+ | |||
+ | *filter | ||
+ | :INPUT DROP [0:0] | ||
+ | :FORWARD DROP [0:0] | ||
+ | :OUTPUT DROP [0:0] | ||
+ | |||
+ | -A INPUT -i lo -j ACCEPT | ||
+ | -A INPUT -p icmp -j ACCEPT | ||
+ | -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | ||
+ | --ipv4 -A INPUT -p tcp -j REJECT --reject-with tcp-reset | ||
+ | --ipv4 -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable | ||
+ | --ipv4 -A INPUT -j REJECT --reject-with icmp-proto-unreachable | ||
+ | --ipv6 -A INPUT -j REJECT | ||
+ | --ipv4 -A OUTPUT -d 127.0.0.0/8 -j ACCEPT | ||
+ | --ipv4 -A OUTPUT -d 192.168.0.0/16 -j ACCEPT | ||
+ | --ipv6 -A OUTPUT -d ::1/8 -j ACCEPT | ||
+ | -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | ||
+ | -A OUTPUT -m owner --uid-owner "tor" -j ACCEPT | ||
+ | --ipv4 -A OUTPUT -j REJECT --reject-with icmp-port-unreachable | ||
+ | --ipv6 -A OUTPUT -j REJECT | ||
+ | COMMIT | ||
+ | |||
+ | </file> | ||
+ | |||
+ | Затем [[dnsmasq|настроить DHCP-сервер]] так, чтобы он выдвал наш прозрачный прокси в качестве единственного DNS-сервера своим клиентам в локальной сети. | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
Рядок 120: | Рядок 169: | ||
[[https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy | Transparently Routing Traffic Through Tor]] | [[https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy | Transparently Routing Traffic Through Tor]] | ||
+ | |||
+ | [[https://wiki.archlinux.org/index.php/Tor | Tor at ArchLinux Wiki ]] |