আমাকে কিছু আইএসপি বিধিনিষেধের আশেপাশে যাওয়ার অনুমতি দেওয়ার জন্য আমার একটি নতুন ভিপিএন সংযোগ রয়েছে (ওপেনভিপিএন)। এটি ঠিকঠাক কাজ করা অবস্থায়, এটি সমস্ত ট্রাফিক ভিপিএন-এর মাধ্যমে নিচ্ছে । এটি আমাকে ডাউনলোড করার জন্য সমস্যা তৈরি করছে (আমার ইন্টারনেট সংযোগ ভিপিএন অনুমতি দেয় তার চেয়ে অনেক দ্রুত) এবং দূরবর্তী অ্যাক্সেসের জন্য। আমি একটি এসএসএস সার্ভার চালাই, এবং একটি ডেমন চলমান যা আমাকে আমার ফোনের মাধ্যমে ডাউনলোডগুলি স্কিডুল করার অনুমতি দেয়।
আমার এথ0 এ আমার বিদ্যমান ইথারনেট সংযোগ এবং টিউনে নতুন ভিপিএন সংযোগ রয়েছে।
আমার বিশ্বাস আমি 192.168.0.0/24 নেটওয়ার্কে আমার বিদ্যমান eth0 সংযোগটি ব্যবহার করতে এবং ডিফল্ট গেটওয়েটি 192.168.0.1 এ সেট করতে হবে (আমি বহু বছর ধরে এটি না করায় আমার জ্ঞানটি নড়বড়ে হয়) )। যদি এটি সঠিক হয়, তবে আমি কীভাবে এটি করব তা নিশ্চিত নই! আমার বর্তমান রাউটিং টেবিলটি হ'ল:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt
0.0.0.0 10.51.0.169 0.0.0.0 UG 0 0 0 tun0 0 0 0
10.51.0.1 10.51.0.169 255.255.255.255 UGH 0 0 0 tun0 0 0 0
10.51.0.169 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 0 0 0
85.25.147.49 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0 0 0 0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 0 0 0
192.168.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0 0 0 0
রাউটিংটি ঠিক করার পরে, আমি বিশ্বাস করি যে গন্তব্য পোর্টের জন্য 80 বা 443 টিউনের উপর দিয়ে জোর করার জন্য প্রিপ্রোটিং বা মাস্ক্রেডিং কনফিগার করার জন্য আইপটেবলগুলি ব্যবহার করা দরকার। আবার, আমি কীভাবে এটি করব তা নিশ্চিত নই!
ইন্টারনেটে আমি যা কিছু পেয়েছি তা আরও জটিল কিছু করার চেষ্টা করছে এবং গাছ থেকে কাঠ সাজানোর চেষ্টা করা কঠিন প্রমাণিত হচ্ছে।
কোন সাহায্যের অনেক প্রশংসা হবে।
হালনাগাদ
এখনও অবধি, বিভিন্ন উত্স থেকে, আমি নিম্নলিখিতগুলি একত্রিত করেছি:
#!/bin/sh
DEV1=eth0
IP1=`ifconfig|perl -nE'/dr:(\S+)/&&say$1'|grep 192.`
GW1=192.168.0.1
TABLE1=internet
TABLE2=vpn
DEV2=tun0
IP2=`ifconfig|perl -nE'/dr:(\S+)/&&say$1'|grep 10.`
GW2=`route -n | grep 'UG[ \t]' | awk '{print $2}'`
ip route flush table $TABLE1
ip route flush table $TABLE2
ip route show table main | grep -Ev ^default | while read ROUTE ; do
ip route add table $TABLE1 $ROUTE
ip route add table $TABLE2 $ROUTE
done
ip route add table $TABLE1 $GW1 dev $DEV1 src $IP1
ip route add table $TABLE2 $GW2 dev $DEV2 src $IP2
ip route add table $TABLE1 default via $GW1
ip route add table $TABLE2 default via $GW2
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
ip rule add from $IP1 lookup $TABLE1
ip rule add from $IP2 lookup $TABLE2
ip rule add fwmark 1 lookup $TABLE1
ip rule add fwmark 2 lookup $TABLE2
iptables -t nat -A POSTROUTING -o $DEV1 -j SNAT --to-source $IP1
iptables -t nat -A POSTROUTING -o $DEV2 -j SNAT --to-source $IP2
iptables -t nat -A PREROUTING -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t nat -A PREROUTING -i $DEV1 -m state --state NEW -j CONNMARK --set-mark 1
iptables -t nat -A PREROUTING -i $DEV2 -m state --state NEW -j CONNMARK --set-mark 2
iptables -t nat -A PREROUTING -m connmark --mark 1 -j MARK --set-mark 1
iptables -t nat -A PREROUTING -m connmark --mark 2 -j MARK --set-mark 2
iptables -t nat -A PREROUTING -m state --state NEW -m connmark ! --mark 0 -j CONNMARK --save-mark
iptables -t mangle -A PREROUTING -i $DEV2 -m state --state NEW -p tcp --dport 80 -j CONNMARK --set-mark 2
iptables -t mangle -A PREROUTING -i $DEV2 -m state --state NEW -p tcp --dport 443 -j CONNMARK --set-mark 2
route del default
route add default gw 192.168.0.1 eth0
এখন এটি কাজ করছে বলে মনে হচ্ছে । বাদে না!
অবরুদ্ধ ওয়েবসাইটের সংযোগ করা হয় , মাধ্যমে চালু পোর্ট 80 443 না সংযোগ করা হয় অ VPN সংযোগ ব্যবহার করে।
তবে বন্দর 80 443 সংযোগ যা নয় অবরুদ্ধ ওয়েবসাইটের খুব অ VPN সংযোগ ব্যবহার করছেন!
সাধারণ লক্ষ্যটি পৌঁছে যাওয়ার সাথে সাথে আমি তুলনামূলকভাবে খুশি, তবে কেন এটি সঠিকভাবে কাজ করছে না তা জানতে পেরে ভাল লাগবে।
কোন ধারনা?
রেফারেন্সের জন্য, আমার কাছে এখন 3 টি রাউটিং টেবিল, প্রধান, ইন্টারনেট এবং ভিপিএন রয়েছে। সেগুলির তালিকা নিম্নরূপ ...
প্রধান:
default via 192.168.0.1 dev eth0
10.38.0.1 via 10.38.0.205 dev tun0
10.38.0.205 dev tun0 proto kernel scope link src 10.38.0.206
85.removed via 192.168.0.1 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.73 metric 1
ইন্টারনেট:
default via 192.168.0.1 dev eth0
10.38.0.1 via 10.38.0.205 dev tun0
10.38.0.205 dev tun0 proto kernel scope link src 10.38.0.206
85.removed via 192.168.0.1 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.73 metric 1
192.168.0.1 dev eth0 scope link src 192.168.0.73
VPN এর:
default via 10.38.0.205 dev tun0
10.38.0.1 via 10.38.0.205 dev tun0
10.38.0.205 dev tun0 proto kernel scope link src 10.38.0.206
85.removed via 192.168.0.1 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.73 metric 1