په Openwrt روټر کې د OpenVPN ګړندی کول. د سولډرینګ اوسپنې او هارډویر افراطیت پرته بدیل نسخه

په Openwrt روټر کې د OpenVPN ګړندی کول. د سولډرینګ اوسپنې او هارډویر افراطیت پرته بدیل نسخه

ټولو ته سلام، ما پدې وروستیو کې لوستل زوړ مقاله د دې په اړه چې تاسو څنګه کولی شئ په روټر کې OpenVPN ګړندی کړئ د هارډویر جلا برخې ته د کوډ کولو په لیږدولو سره ، کوم چې پخپله د روټر دننه پلورل کیږي. زه لیکوال ته ورته قضیه لرم - TP-Link WDR3500 د 128 میګابایټ رام سره او یو ضعیف پروسیسر چې په بشپړ ډول د تونل کوډ کولو سره مقابله کولو توان نلري. په هرصورت، ما په بشپړ ډول نه غوښتل چې د سولډرینګ اوسپنې سره روټر ته ورسیږم. لاندې د حادثې په صورت کې په روټر کې د بیک اپ سره د هارډویر جلا برخې ته د OpenVPN د حرکت کولو تجربه ده.

موخه

دلته د TP-Link WDR3500 روټر او د نارنج پای زیرو H2 شتون لري. موږ غواړو د نارنج پای د معمول په څیر تونلونه کوډ کړي، او که چیرې یو څه پیښ شي، د VPN پروسس به بیرته روټر ته راستانه شي. په روټر کې د فایروال ټول تنظیمات باید د پخوا په څیر کار وکړي. او په عموم کې ، د اضافي هارډویر اضافه کول باید هرچا ته شفاف او د پام وړ نه وي. OpenVPN په TCP باندې کار کوي، د TAP اډاپټر په پل حالت کې دی (سرور پل).

پریکړه

د USB له لارې د وصل کیدو پرځای ، ما پریکړه وکړه چې د روټر یو بندر وکاروم او ټول فرعي نیټونه چې د VPN پل لري نارنج پای ته وصل کړم. دا معلومه شوه چې د هارډویر ټوټه به په فزیکي توګه په ورته شبکو کې د VPN سرور په روټر کې ځړول شي. له هغې وروسته، موږ په اورنج پای کې دقیقا ورته سرورونه نصب کوو، او په روټر کې موږ یو ډول پراکسي تنظیم کوو ترڅو دا ټول راتلونکی پیوستون بهرني سرور ته واستوي، او که د نارنج پای مړ وي یا شتون نلري، بیا بیا داخلي فال بیک سرور. ما HAProxy واخیست.

دا په دې ډول وګرځي:

  1. یو پیرودونکی راځي
  2. که بهرنی سرور شتون ونلري، لکه څنګه چې مخکې، پیوستون داخلي سرور ته ځي
  3. که شتون ولري، پیرودونکي د نارنج پای لخوا منل کیږي
  4. VPN په نارنجي پای کې پاکټونه ډیکریپټ کوي او بیرته روټر ته یې تویوي
  5. روټر دوی بل ځای ته رسوي

د تطبیق بیلګه

نو، اجازه راکړئ په روټر کې دوه شبکې ولرو - اصلي (1) او میلمانه (2)، د هر یو لپاره د بهرنی سره د نښلولو لپاره د OpenVPN سرور شتون لري.

د شبکې ترتیب

موږ اړتیا لرو چې دواړه شبکې د یو بندر له لارې وګرځوو، نو موږ 2 VLANs جوړوو.

په روټر کې، د شبکې/سویچ برخه کې، VLANs جوړ کړئ (د مثال په توګه 1 او 2) او په مطلوب بندر کې یې په نښه شوي حالت کې فعال کړئ، نوي جوړ شوي eth0.1 او eth0.2 اړوندو شبکو ته اضافه کړئ (د مثال په توګه، دوی په بریګډ کې اضافه کړئ).

په نارنجي پای کې موږ دوه VLAN انٹرفیسونه رامینځته کوو (زه Archlinux ARM + netctl لرم):

/etc/netctl/vlan-main

Description='Main VLAN on eth0'
Interface=vlan-main
Connection=vlan
BindsToInterfaces=eth0
VLANID=1
IP=no

/etc/netctl/vlan-guest

Description='Guest VLAN on eth0'
Interface=vlan-guest
Connection=vlan
BindsToInterfaces=eth0
VLANID=2
IP=no

او موږ سمدلاسه د دوی لپاره دوه پلونه جوړوو:

/etc/netctl/br-main

Description="Main Bridge connection"
Interface=br-main
Connection=bridge
BindsToInterfaces=(vlan-main)
IP=dhcp

/etc/netctl/br-guest

Description="Guest Bridge connection"
Interface=br-guest
Connection=bridge
BindsToInterfaces=(vlan-guest)
IP=dhcp

د ټولو 4 پروفایلونو لپاره اتوماتیک پیل فعال کړئ (netctl فعال کړئ). اوس د ریبوټ وروسته ، نارنج پای به په دوه اړین شبکو کې ځړول شي. موږ په روټر کې په جامد اجارې کې په نارنجي پای کې د انٹرفیس پتې تنظیم کوو.

آی پی ایډر شو

4: vlan-main@eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-main state UP group default qlen 1000
    link/ether 02:42:f0:f8:23:c8 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::42:f0ff:fef8:23c8/64 scope link 
       valid_lft forever preferred_lft forever

5: vlan-guest@eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-guest state UP group default qlen 1000
    link/ether 02:42:f0:f8:23:c8 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::42:f0ff:fef8:23c8/64 scope link 
       valid_lft forever preferred_lft forever

6: br-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:c7:0f:89:71:6e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global dynamic noprefixroute br-main
       valid_lft 29379sec preferred_lft 21439sec
    inet6 fe80::50c7:fff:fe89:716e/64 scope link 
       valid_lft forever preferred_lft forever

7: br-guest: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether ee:ea:19:31:34:32 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.3/24 brd 192.168.2.255 scope global br-guest
       valid_lft forever preferred_lft forever
    inet6 fe80::ecea:19ff:fe31:3432/64 scope link 
       valid_lft forever preferred_lft forever

د VPN تنظیم کول

بیا، موږ د OpenVPN ترتیبات او د روټر څخه کیلي کاپي کوو. ترتیبات معمولا په کې موندل کیدی شي /tmp/etc/openvpn*.conf

د ډیفالټ په توګه، Openvpn په TAP حالت کې چلیږي او سرور پل خپل انٹرفیس غیر فعال ساتي. د هرڅه کار کولو لپاره ، تاسو اړتیا لرئ یو سکریپټ اضافه کړئ چې د پیوستون فعالیدو پرمهال چلیږي.

/etc/openvpn/main.conf

dev vpn-main
dev-type tap

client-to-client
persist-key
persist-tun
ca /etc/openvpn/main/ca.crt
cert /etc/openvpn/main/main.crt
cipher AES-256-CBC
comp-lzo yes
dh /etc/openvpn/main/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp_main.txt
keepalive 10 60
key /etc/openvpn/main/main.key
port 443
proto tcp
push "redirect-gateway"
push "dhcp-option DNS 192.168.1.1"
server-bridge 192.168.1.3 255.255.255.0 192.168.1.200 192.168.1.229
status /tmp/openvpn.main.status
verb 3

setenv profile_name main
script-security 2
up /etc/openvpn/vpn-up.sh

/etc/openvpn/vpn-up.sh

#!/bin/sh

ifconfig vpn-${profile_name} up
brctl addif br-${profile_name} vpn-${profile_name}

د پایلې په توګه ، هرڅومره ژر چې اړیکه رامینځته شي ، د vpn-مین انٹرفیس به br-main ته اضافه شي. د میلمه گرډ لپاره - په ورته ډول، په سرور پل کې د انٹرفیس نوم او پته پورې.

د روټینګ غوښتنې بهرنۍ او پراکسي کول

پدې مرحله کې، اورنج پای لا دمخه د دې وړتیا لري چې اړیکې ومني او پیرودونکي اړین شبکې سره وصل کړي. ټول هغه څه چې پاتې دي په روټر کې د راتلونکو اړیکو پراکسي تنظیم کول دي.

موږ د روټر VPN سرورونه نورو بندرونو ته لیږدوو، په روټر کې HAProxy نصب او تنظیم کړئ:

/etc/haproxy.cfg

global
        maxconn 256
        uid 0
        gid 0
        daemon

defaults
        retries 1
        contimeout 1000
        option splice-auto

listen guest_vpn
        bind :444
        mode tcp
        server 0-orange 192.168.2.3:444 check
        server 1-local  127.0.0.1:4444 check backup

listen main_vpn
        bind :443
        mode tcp
        server 0-orange 192.168.1.3:443 check
        server 1-local  127.0.0.1:4443 check backup

خوند واخلئ

که هرڅه د پلان سره سم پرمخ ولاړ شي ، پیرودونکي به نارنج پای ته واړوي او د روټر پروسیسر به نور ګرم نشي ، او د VPN سرعت به د پام وړ لوړ شي. په ورته وخت کې، د شبکې ټول مقررات چې په روټر کې ثبت شوي دي به اړونده پاتې شي. په نارنجي پای کې د حادثې په صورت کې، دا به سقوط وکړي او HAProxy به پیرودونکي محلي سرورونو ته انتقال کړي.

ستاسو د پاملرنې څخه مننه، وړاندیزونه او سمونونه ښه راغلاست.

سرچینه: www.habr.com

Add a comment