मिकरोटिक राउटर ओएस, हम एक विदेशी नेटवर्क पर हमारे सर्वर की तलाश कर रहे हैं। या मोटी रकम कैसे नहीं देनी चाहिए
हम सभी ने अपने देश में छोटे व्यवसाय और निजी उद्यमिता के जबरदस्त समर्थन के बारे में बार-बार सुना है। जब तक आप एक व्यक्ति हैं, आपको कोई समस्या नहीं है। लेकिन जैसे ही आप अपने विचारों को इकट्ठा करते हैं और अपना खुद का व्यवसाय खोलने का फैसला करते हैं, आपको तुरंत पैसा मिलता है (बैंकों, करों, रूस के पेंशन फंड में कटौती, लेवी, जुर्माना, मुद्रास्फीति और अन्य कपास)। प्रदाता इस संबंध में विशेष रूप से प्रतिष्ठित थे, यदि एक साधारण घर उपयोगकर्ता की आवश्यकताएं न्यूनतम हैं, तो निजी उद्यमियों और संगठनों के लिए दृष्टिकोण विशेष है। अर्थात्: यदि आपने काम के लिए गैर-आवासीय परिसर किराए पर लिया है, तो इसका मतलब है कि आप एक नकद गाय हैं और प्रदाता को बहुत सारा पैसा देना होगा। हां, निश्चित रूप से यह बहुत अच्छा है अगर आप प्रदाता के साथ सहमत होने में कामयाब रहे और किसी व्यक्ति, अच्छी तरह से एक समझौता करें या मान लें कि आपका मित्र पास में रहता है जो खिड़की में वाईफाई लगाने के लिए सहमत है। लेकिन अगर ये विकल्प काम नहीं करते हैं, तो प्रदाता को बहुत सारे पैसे न देने का एक और तरीका है। :)
विचार यह है कि आजकल आंतरिक स्थानीय नेटवर्क 10.0.0.0/255.0.0.0 या 192.168.0.0/255.255.0.0 के साथ एक प्रदाता को खोजना मुश्किल नहीं है और इसमें दो बिंदुओं को व्यवस्थित करें (एक सस्ता, असीमित इंटरनेट वाला व्यक्ति एक सर्वर होगा) ( महंगे मेगाबाइट इंटरनेट वाला एक संगठन क्लाइंट होगा) उनके बीच हम वीपीएन बढ़ाते हैं।
सिद्धांत रूप में, कोई समस्या नहीं है यदि प्रदाता के ग्रे पते स्थिर हैं, लेकिन यदि नहीं, तो हमें इंटरनेट पर DDNS सेवा का उपयोग करना होगा क्योंकि एक स्थानीय सेवा नहीं हो सकती है।
पूर्ण आकार का पिचकारीइंटरनेट पर डीडीएनएस की बहुत सारी सेवाएं हैं, लेकिन उनमें से ज्यादातर पृष्ठभूमि में हैं, क्योंकि मिकरोटिक उनके साथ काम नहीं करते हैं, या वे हमारे उद्देश्यों के लिए उपयुक्त नहीं हैं।
संस्करण 2.X से शुरू होने वाले समर्थन के कारण हम changeip.com DDNS सेवा का उपयोग करेंगे
एक ग्रे आईपी पते भेजने के लिए एक स्क्रिप्ट विकसित करने की प्रक्रिया में, एक महत्वपूर्ण समस्या उत्पन्न हुई। प्रत्येक DNS नाम अपडेट में changeip.com सेवा यह जांचती है कि संदेश में भेजा गया आईपी पता पहले ओकटेट 10 और 192.168 वाले नेटवर्क का है। यदि यह संबद्धता होती है, तो यह संदेश को एक सफेद आईपी के साथ संदेश से बदल देती है, जो कि changeip.com सेवा द्वारा स्वचालित रूप से निर्धारित किया जाता है, और दुर्भाग्य से हम इस विकल्प को अक्षम नहीं कर सकते हैं :(
भेजने से पहले आईपी पते के पहले ऑक्टेट को मुखौटा बनाने का फैसला किया गया था, और इसे वापस मिलने पर प्रतिस्थापित किया गया था।
सर्वर भाग, पैरामीटर:
:local interfacename ("eth1"); - .
:local replacement ("222"); - ip , , . 10. - 00-99, 192. 100-254.
:local dnsname ("my.server.ddns.info"); -DNS .
:local login ("login"); - changeip.com
:local password ("password"); - changeip.com
सर्वर भाग, कोड:
##################################################
#Server Part
##################################################
#Settings
##################################################
:local interfacename ("eth1");
:local replacement ("222");
:local dnsname ("my.server.ddns.info");
:local login ("login");
:local password ("password");
##################################################
##################################################
:local CurrentDynDNSIP ([:resolve $dnsname]);
:local TMPDynDNSIP ([/ip address get [/ip address find interface=$interfacename] address]);
:local RealDynDNSIP ([:pick $TMPDynDNSIP 0 ([:len $TMPDynDNSIP]-3)]);
:local ShortIP ([:pick $RealDynDNSIP ([:len $replacement]) ([:len $RealDynDNSIP])]);
:local FakeIP ($replacement . $ShortIP);
:if ($CurrentDynDNSIP != $FakeIP) do={/tool dns-update name=$dnsname address=$FakeIP key-name=$login key=$password};
##################################################
#(C) Inlarion icq 429-587 mikrotik.axiom-pro.ru Copyright!
##################################################
विवरण:
सर्वर साइड के संचालन का सिद्धांत बहुत सरल है, आईपी पता निर्दिष्ट इंटरफ़ेस से लिया गया है, सबनेट मास्क काट दिया जाता है, पहले ओकटेट को मास्किंग द्वारा बदल दिया जाता है और changeip.com पर भेज दिया जाता है
ग्राहक भाग, पैरामीटर:
:local dnsname ("my.server.ddns.info"); -DNS ip .
:local replacement ("192"); - .
:local gateoctet ("1"); - :local internettype "ethernet" 192.168..1 .
:local internetname ("LAN"); - .
:local internettype ("ethernet"); - "ethernet" .
:local internetdns ("192.168.3.1"); DNS .
:local tunnelname ("ISP1"); - .
:local tunneltype ("pptp"); - , "pptp" "l2tp".
:local tunneldns ("192.168.90.1"); - DNS PPTP L2TP .
ग्राहक भाग, कोड:
####################################################
#Client part
####################################################
#Settings
####################################################
:local dnsname ("my.server.ddns.info");
:local replacement ("192");
:local gateoctet ("1");
:local internetname ("LAN");
:local internettype ("ethernet");
:local internetdns ("192.168.3.1");
:local tunnelname ("ISP1");
:local tunneltype ("pptp");
:local tunneldns ("192.168.90.1");
####################################################
:global internetgate (" ");
####################################################
:if ( $internettype != "ethernet" ) do={
:set internetgate ([/ip address get [/ip address find interface=$internetname] network]);
} else={
:set internetgate ([/ip address get [/ip address find interface=$internetname] network]);
:local ShortIP ([:pick $internetgate 0 ([:len $internetgate]-1)] );
:set internetgate ($ShortIP . $gateoctet);
};
####################################################
:if ($tunneltype = "pptp") do={
/interface pptp-client monitor [/interface pptp-client find name=$tunnelname] once do={
:if ($status != "connected") do={
:if ($internetdns != [/ip dns get servers]) do={ /ip dns set servers=$internetdns; };
} else={
:if ($tunneldns != [/ip dns get servers]) do={ /ip dns set servers=$tunneldns; };
};
};
};
:if ($tunneltype = "l2tp") do={
/interface l2tp-client monitor [/interface l2tp-client find name=$tunnelname] once do={
:if ($status != "connected") do={
:if ($internetdns != [/ip dns get servers]) do={ /ip dns set servers=$internetdns; };
} else={
:if ($tunneldns != [/ip dns get servers]) do={ /ip dns set servers=$tunneldns; };
};
};
};
####################################################
:local WWW ([:resolve changeip.com]);
:local NIC ([:resolve nic.changeip.com]);
:if ( [/ip route find comment="WWW_changeip.com"] = "" ) do={ /ip route add dst-address=$WWW gateway=$internetgate comment="WWW_changeip.com" };
:if ( [/ip route find comment="NIC_changeip.com"] = "") do={ /ip route add dst-address=$NIC gateway=$internetgate comment="NIC_changeip.com" };
:if ( [/ip route find comment="INTERNET_DNS"] = "") do={ /ip route add dst-address=$internetdns gateway=$internetgate comment="INTERNET_DNS" };
:if ( [/ip route get [/ip route find comment="WWW_changeip.com"] dst-address] != $WWW) do={ /ip route set [/ip route find comment="WWW_changeip.com"] dst-address=$WWW gateway=$internetgate };
:if ( [/ip route get [/ip route find comment="NIC_changeip.com"] dst-address] != $NIC) do={ /ip route set [/ip route find comment="NIC_changeip.com"] dst-address=$NIC gateway=$internetgate };
:if ( [/ip route get [/ip route find comment="INTERNET_DNS"] dst-address] != $internetdns) do={ /ip route set [/ip route find comment="INTERNET_DNS"] dst-address=$internetdns gateway=$internetgate };
####################################################
:if ($tunneltype = "pptp") do={
:local CurrentVHNIP ([:resolve $dnsname]);
:local TMPVHNIP ([/interface pptp-client get [/interface pptp-client find name=$tunnelname] connect-to]);
:local ShortIP ([:pick $CurrentVHNIP ([:len $replacement]) ([:len $CurrentVHNIP])]);
:local RealDNSIP ($replacement . $ShortIP);
:if ($RealDNSIP != $TMPVHNIP) do={/interface pptp-client set [/interface pptp-client find name=$tunnelname] connect-to=$RealDNSIP; };
};
:if ($tunneltype = "l2tp") do={
:local CurrentVHNIP ([:resolve $dnsname]);
:local TMPVHNIP ([/interface l2tp-client get [/interface l2tp-client find name=$tunnelname] connect-to]);
:local ShortIP ([:pick $CurrentVHNIP ([:len $replacement]) ([:len $CurrentVHNIP])]);
:local RealDNSIP ($replacement . $ShortIP);
:if ($RealDNSIP != $TMPVHNIP) do={/interface l2tp-client set [/interface l2tp-client find name=$tunnelname] connect-to=$RealDNSIP; };
};
####################################################
#(C) Inlarion icq 429-587 mikrotik.axiom-pro.ru Copyright!
####################################################
विवरण:
ग्राहक पक्ष का सिद्धांत थोड़ा अधिक जटिल है। सबसे पहले, इंटरनेट गेटवे की पहचान एक महंगे प्रदाता के माध्यम से की जाती है। दूसरा चरण वीपीएन सर्वर के साथ कनेक्शन की जांच कर रहा है, अगर कोई कनेक्शन नहीं है, तो प्रदाता का डीएनएस स्थापित किया जाता है, अगर कोई कनेक्शन होता है, तो वीपीएन सर्वर का डीएनएस स्थापित होता है। तीसरे चरण में, DNS और changeip.com सर्वर के लिए मुख्य प्रदाता के माध्यम से मार्गों को स्थापित / अद्यतन किया जाता है। अंतिम चरण कनेक्शन संपत्तियों में सर्वर आईपी पते की जांच करने के लिए है जो कि छवि-संशोधित ऑक्टेट के साथ changeip.com से प्राप्त पते के साथ है।
अंत में, मैं यह नोट करना चाहता हूं कि यह विधि अनुबंध की शर्तों का उल्लंघन नहीं करती है, यदि प्रदाता के साथ अनुबंध आप पर संपन्न होता है, और आप व्यक्तिगत रूप से इसका उपयोग करते हैं।
इस पद्धति के स्पष्ट नुकसान हैं, सर्वर से क्लाइंट की मजबूत दूरी के बारे में, ट्रैफ़िक प्रदाता के सबनेट के माध्यम से जाएगा, और राउटर के अलावा, प्रत्येक सबनेट में क्यूओएस समर्थन के साथ स्मार्ट स्विच भी होते हैं, जो प्राइम टाइम के दौरान पूरे ट्रांसमिशन को नकार देगा।
पैकेट हानि से बचने के लिए और क्यूओएस के तहत भारी गिरावट नहीं होने के लिए, सर्वर और क्लाइंट को एक ही सबनेट पर रखने की सलाह दी जाती है, या "भुगतान इंटरपर्सनल ट्रैफिक" सेवा पर ध्यान दें जहां एक ही प्रदाता के ग्राहकों के दो सफेद पते के बीच जानकारी स्थानांतरित की जाती है। इस सेवा की कीमत 2-15kop / Mb से है। और इंटरनेट ट्रैफ़िक की समान प्राथमिकता है।