NOOBS (डेबियन का उपयोग करके) डेबियन-ट्रांसमिशन उपयोगकर्ता समूह (यानी ट्रांसमिशन) केवल वीपीएन के माध्यम से डेटा को रूट करता है, यह सुनिश्चित करने के लिए यहां एक पूर्ण 'HOW TO' है।
जटिल प्रणाली लिपियों पर आधारित वीपीएन के लिए अधिक लंबे 'हाउ' का उपयोग न करें ...! iptables सबसे अच्छा (और मूर्ख) METHOD है !!! - वीपीएन को नियंत्रित करने के लिए ट्रांसमिशन यूजर और ग्रुप के आधार पर एक फीचर्ड आईपीएल रूल्स का उपयोग करना (न कि कई अधिक जटिल 'हैक' तरीकों की तरह जो सिस्टम स्क्रिप्ट, अप और डाउन स्क्रिप्ट आदि का उपयोग करते हैं ...) और यह सरल है!
चरण 1 - सेटअप: (माना जाता है कि ट्रांसमिशन स्थापित है और डेबियन-ट्रांसमिशन उपयोगकर्ता इसलिए मौजूद है!)
sudo apt-get install iptables
sudo apt-get install iptables-persistent
चरण 2 - ट्रांसमिशन-आईपी-नियम फ़ाइल बनाएँ
sudo nano transmission-ip-rules
और नीचे से शुरू कोड कोड में पाठ जोड़ें #!/bin/bash
जरूरी
- यदि आपका स्थानीय नेटवर्क 192.168.1.x का नहीं है, तो अपने स्वयं के स्थानीय नेटवर्क कोडिंग प्रारूप के अनुरूप नेट चर को बदलें।
- यह भी पता है कि 192.168.1.0/25 वास्तव में 192.168.1.0-255 सीमा देता है quirk के बारे में पता होना!
- कभी-कभी आपके इंटरफेस में eth0, tun0 (जो कि vpn) आदि होता है .. शायद अलग-अलग - 'ifconfig' से चेक करें और ज़रूरत पड़ने पर बदल दें।
#!/bin/bash
# Set our rules so the debian-transmission user group can only route through the vpn
NET=192.168.1.0/25
GROUP=debian-transmission
IFACE_INTERNAL=eth0
IFACE_VPN=tun0
ALLOW_PORT_FROM_LOCAL=9091
iptables -A OUTPUT -d $NET -p tcp --sport $ALLOW_PORT_FROM_LOCAL -m owner --gid-owner $GROUP -o $IFACE_INTERNAL -j ACCEPT
iptables -A OUTPUT -d $NET -p udp --sport $ALLOW_PORT_FROM_LOCAL -m owner --gid-owner $GROUP -o $IFACE_INTERNAL -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner $GROUP -o $IFACE_VPN -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner $GROUP -o lo -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner $GROUP -j REJECT
# not needed - but added these to properly track data to these interfaces....when using iptables -L -v
iptables -A INPUT -i $IFACE_VPN -j ACCEPT
iptables -A INPUT -i $IFACE_INTERNAL -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
# track any forward (NAT) data for completeness - don't care about interfaces
iptables -A FORWARD
फ़ाइल सहेजें और फिर चलाएं
sudo iptables -F
sudo chmod +x transmission-ip-rules
sudo ./transmission-ip-rules
फिर सुनिश्चित करें कि ये नियम रिबूट के बीच बने रहते हैं:
sudo dpkg-reconfigure iptables-persistent
और दोनों संकेतों पर हाँ टैप करें। किया हुआ!
इस स्क्रिप्ट के बारे में महान बात यह है कि यह डिवाइस के माध्यम से सभी डेटा को ट्रैक करेगा! जब आप जारी करते हैं
sudo iptables -L -v
यह दिखाएगा कि किस इंटरफेस में कितना डेटा जा रहा है और किस तरफ INPUT या OUTPUT ताकि आपको आश्वस्त किया जा सके कि vpn स्क्रिप्ट ठीक से काम कर रही है। उदाहरण के लिए,
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
1749K 661M ACCEPT all -- tun0 any anywhere anywhere
3416K 3077M ACCEPT all -- eth0 any anywhere anywhere
362K 826M ACCEPT all -- lo any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 all -- any any anywhere anywhere
Chain OUTPUT (policy ACCEPT 2863K packets, 2884M bytes)
pkts bytes target prot opt in out source destination
1260 778K ACCEPT tcp -- any eth0 anywhere 192.168.1.0/ 25 tcp spt:9091 owner GID match debian-transmission
0 0 ACCEPT udp -- any eth0 anywhere 192.168.1.0/ 25 udp spt:9091 owner GID match debian-transmission
1973K 1832M ACCEPT all -- any tun0 anywhere anywhere owner GID match debian-transmission
8880 572K ACCEPT all -- any lo anywhere anywhere owner GID match debian-transmission
13132 939K REJECT all -- any any anywhere anywhere owner GID match debian-transmission reject-with icmp-port-unreachable
इस स्क्रिप्ट को वीपीएन से कनेक्ट, डिस्कनेक्ट, रिबूट पर विस्तृत रूप से परीक्षण किया गया है। यह बहुत अच्छा काम करता है। ट्रांसमिशन केवल वीपीएन का उपयोग कर सकता है। दूसरों पर इस लिपि का बड़ा फायदा यह है कि मैंने यह सुनिश्चित कर लिया है कि आप (के माध्यम से) देख सकते हैंiptables -L -v
) कि आपके डेटा को संचरण पर खींचा गया है (प्रत्येक इंटरफ़ेस के लिए INPUT (सभी) और फॉरवर्ड (सभी) नियम जोड़कर, vpn (tun0))। तो आप जानते हैं कि वास्तव में क्या हो रहा है !!! डेटा का योग संचरण के साथ बिल्कुल सही नहीं होगा - दुर्भाग्य से मैं डेबियन-ट्रांसमिशन उपयोगकर्ता के लिए नीचे INPUT में कोई भेदभाव नहीं कर सकता, और एक ही वीपीएन का उपयोग करके दोनों अतिरिक्त ओवरहेड और शायद अन्य प्रक्रियाएं होंगी, लेकिन आप डेटा को लगभग लंबा देखेंगे INPUT की ओर और इसके कार्य की पुष्टि करने वाले vpn के लिए OUTPUT पर लगभग आधा है। नोट करने के लिए एक और बात - यह वीपीएन डिस्कनेक्ट (ट्रांसमिशन के साथ सभी ट्रैफ़िक रुक जाता है) पर थोड़ी देर लेता है और नए वीपीएन पर ट्रांसमिशन के लिए फिर से कनेक्ट करता है इसलिए चिंता मत करो अगर इसे फिर से शुरू करने के लिए लगभग 5 मिनट लगते हैं .. ।
टिप - google 'मैन iptables' और देखो की निगरानी बैंडविड्थ पर इस लेख यदि आप लाइन कैसे काम करता है इस स्क्रिप्ट से लाइन में जानना चाहते हैं ...