Iptables সঙ্গে যথেষ্ট সহজ। এটিতে নির্দিষ্ট ব্যবহারকারীর সাথে মেলে এমন নিয়ম থাকতে পারে এবং tor
এর নিজস্ব ব্যবহারকারী আইডির অধীনে চালানোর জন্য আপনার ইতিমধ্যে সেট আপ করা উচিত ছিল ; প্রধান লিনাক্স ডিস্ট্রিবিউশন এবং টর প্রকল্প দ্বারা সরবরাহ করা ডিবে এবং আরপিএম প্যাকেজগুলি ইতিমধ্যে টোর জন্য একটি ব্যবহারকারী সেট আপ করেছে।
সম্পূর্ণ নমুনা, ব্যবহারযোগ্য iptables এবং টোর কনফিগারেশন অনুসরণ করে। এই ফায়ারওয়ালটি iptables-restore
কমান্ড দিয়ে লোড করা যায় । এই কনফিগারেশনের শেষ ফলাফলটি প্রক্সিভাবে কনফিগার করার প্রয়োজন ছাড়াই হোস্ট থেকে টর থেকে উত্পন্ন সমস্ত ট্র্যাফিককে স্বচ্ছভাবে রুট করবে । এই কনফিগারেশনটি লিক-প্রুফ হওয়া উচিত; যদিও আপনার অবশ্যই এটি অবশ্যই ভালভাবে পরীক্ষা করা উচিত।
নোট করুন যে টর ব্যবহারকারীর জন্য uid (এখানে, 998
) iptables দ্বারা সংখ্যার আকারে সংরক্ষণ করা হয়। আপনার টর ব্যবহারকারীর জন্য এখানে সঠিকভাবে প্রদর্শিত সঠিক জায়গায় এটি তৈরি করুন।
এছাড়াও নোট করুন যে হোস্টের সরাসরি সম্বোধিত আগত ক্লারনেট এবং ল্যান ট্র্যাফিককে সমর্থন করার জন্য প্রথম নিয়মে হোস্টের আইপি ঠিকানা দেওয়া দরকার 198.51.100.212
। আপনার যদি একাধিক আইপি ঠিকানা থাকে তবে প্রতিটি ঠিকানার নিয়মটি পুনরাবৃত্তি করুন।
*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
Ssh INPUT বিধি কেবলমাত্র সংযোগগুলির অনুমতি দেয় যদি তারা স্থানীয় হোস্টের মাধ্যমে আসে, অর্থাত্ একটি টোর লুকানো পরিষেবা hidden আপনি যদি ক্লারনেটের মাধ্যমে আগত এসএসএস সংযোগের অনুমতি দিতে চান তবে সরান -d 127.0.0.1
।
সংশ্লিষ্ট torrc
ফাইলটি হ'ল:
User toranon
SOCKSPort 9050
DNSPort 53
TransPort 49151
AutomapHostsOnResolve 1
এই কনফিগারেশনটির প্রয়োজন হোস্টের একটি স্থির আইপি ঠিকানা থাকা দরকার। প্রত্যাশিত ব্যবহারের ক্ষেত্রে এটি সম্ভবত স্থির আইপি ঠিকানা রাখার জন্য আপনি ইতিমধ্যে পরিকল্পনা করেছেন।
এবং অবশেষে, আউটপুট!
[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.