12.07.2015 Views

img - Xakep Online

img - Xakep Online

img - Xakep Online

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

OpenBSD, pf и NATîòêðûòûé íà øëþçå, äîëæåí îòëè÷àòüñÿ îò ïîðòà âíóòðåííåãî ñåðâåðà,âûáèðàåì â âûïàäàþùåì ìåíþ ïóíêò «Destination Ports», ïîëó÷àåì îäíîèìåííîåïîëå è ââîäèì â íåãî íîìåð ïîðòà. Íàæèìàåì êíîïêó «Save».Òîãî æå ýôôåêòà ìîæíî äîñòè÷ü, îòðåäàêòèðîâàâ êîíôèãóðàöèîííûéôàéë /etc/config/firewall ñëåäóþùèì îáðàçîì:forward:proto=tcp dport=80:192.168.0.100:80Форвардим входящие запросы на сервер терминалови SQL-серверòè. Åñòåñòâåííî, ïðîáðîñ ïîðòîâ ëåãêî âûïîëíèòü è ñ èõ ïîìîùüþ. DD-Wrt ïðîáðîñ ïîðòîâ îñóùåñòâëÿåòñÿ ñ ïîìîùüþ ëîêàëèçîâàííîãîâåá-èíòåðôåéñà. ×òîáû íàñòðîèòü ïðîáðîñ ïî îïèñàííîé âûøå ñõåìå,äîñòàòî÷íî îòêðûòü âåá-èíòåðôåéñ ðîóòåðà (192.168.1.1), ïåðåéòè íàâêëàäêó «NAT/QoS», äàëåå — âêëàäêà «Ïåðåíàïðàâëåíèå ïîðòîâ». Òåïåðüâ ïîëå «Ïðèëîæåíèå» ïèøåì ëþáîå óäîáíîå äëÿ íàñ èìÿ, íàïðèìåð,«www», «Ïîðò-èñòî÷íèê» — âíåøíèé ïîðò ðîóòåðà, «Ïðîòîêîë» — TCPèëè UDP, «IP-àäðåñ» — àäðåñ âíóòðåííåãî ñåðâåðà, «Ïîðò-ïðèåìíèê» —åãî ïîðò. Äàëåå âûáèðàåì ãàëî÷êó «Âêëþ÷èòü», æìåì êíîïêó «Äîáàâèòü»,ïîòîì — êíîïêó «Ïðèìåíèòü».Ýòî äåéñòâèòåëüíî ïðîñòîé ïóòü, êîòîðûé… íå ñðàáîòàåò äëÿ áîëüøèíñòâàðîññèéñêèõ ïðîâàéäåðîâ, ïðåäîñòàâëÿþùèõ êàê äîñòóï ê ëîêàëüíîéñåòè (ïðÿìîé), òàê è äîñòóï ê ñåòè èíòåðíåò (÷åðåç VPN/PPTP). Äåëî âòîì, ÷òî äîáàâëåííîå òàêèì îáðàçîì ïðàâèëî áóäåò ïðèìåíåíî ê âíåøíåìóôèçè÷åñêîìó èíòåðôåéñó, òîãäà êàê èíòåðôåéñ ppp0, èñïîëüçóåìûéäëÿ âûõîäà â èíòåðíåò ÷åðåç VPN/PPTP, îñòàíåòñÿ íå ïðè äåëàõ.Äëÿ ðåøåíèÿ ïðîáëåìû ìîæíî âîñïîëüçîâàòüñÿ ïðÿìûì âìåøàòåëüñòâîìâ íåäðà DD-Wrt. Îòêðûâàåì âêëàäêó «Òåõ.îáñëóæèâàíèå», äàëåå —«Êîìàíäû» è íàáèðàåì ñòàíäàðòíûå ïðàâèëà iptables:iptables -t nat -A PREROUTING -p tcp -i ppp0 \--dport 80 -j DNAT --to 192.168.0.100:80Íàæèìàåì «Ñîõð. áðàíäìàóýð» è ïåðåçàãðóæàåìñÿ. Íåíàìíîãî òðóäíååâûïîëíèòü ýòó îïåðàöèþ ñ ïîìîùüþ âåá-èíòåðôåéñà ïðîøèâîê X-Wrt,ïðåäñòàâëÿþùèõ ñîáîé, ïî ñóòè, áîëåå þçàáåëüíûé âàðèàíò OpenWrt.Æìåì íà «Network», çàòåì «Firewall», âûáèðàåì â ìåíþ «New Rule» ïóíêò«Forward» è íàæèìàåì «Add». Çàïèñûâàåì â ïîëå «Forward To» IP-àäðåñâíóòðåííåãî ñåðâåðà, â ïîëå «Port» ïîìåùàåì íîìåð ïðîáðàñûâàåìîãîïîðòà.  âûïàäàþùåì ìåíþ âûáèðàåì ïóíêò «Protocol» è íàæèìàåì«Add», â ïîÿâèâøåìñÿ ìåíþ âûáèðàåì ïðîòîêîë: TCP èëè UDP. Åñëè ïîðò,ДРУГИЕ ПОДХОДЫÄëÿ îñóùåñòâëåíèÿ ïðîáðîñà ïîðòà ñîâñåì íåîáÿçàòåëüíî èñïîëüçîâàòüáðàíäìàóýðû èëè ñèñòåìíûå äåìîíû, êàê, íàïðèìåð, ýòîãî òðåáóþòñòàðûå âåðñèè FreeBSD. Ñóùåñòâóåò íåñêîëüêî äðóãèõ ñïîñîáîâ ñäåëàòüýòî ñ ïîìîùüþ ñïåöèàëèçèðîâàííîãî ñîôòà èëè ñòàíäàðòíûõ èíñòðóìåíòîâÎÑ (êòî çíàåò, âîçìîæíî, òû èñïîëüçóåøü Minix â êà÷åñòâå ÎÑäëÿ øëþçà :)). Îäèí èç òàêèõ èíñòðóìåíòîâ — SSH. Äàëåêî íå êàæäûéñèñòåìíûé àäìèíèñòðàòîð â êóðñå, ÷òî ïðîáðîñ ïîðòà ÿâëÿåòñÿ ñòàíäàðòíîéôóíêöèåé ýòîé ïðîãðàììû. Âîçüìåì, ê ïðèìåðó, ñëåäóþùóþñèòóàöèþ.  ëîêàëüíîé ñåòè, çàêðûòîé îò âíåøíåé ñåòè NAT'îì, åñòüñåðâåð, ê êîòîðîìó òåáå íåîáõîäèìî èìåòü äîñòóï. Ñèòóàöèÿ óñóãóáëÿåòñÿòåì, ÷òî òû íå èìååøü ïðèâèëåãèé äëÿ íàñòðîéêè ôàéåðâîëà íàìàøèíå-øëþçå. Çàòî ó òåáÿ åñòü äîñòóï ê SSH-ñåðâåðó, ðàáîòàþùåìóíà ýòîì øëþçå. Êàê ýòî ìîæåò ïîìî÷ü? Íà ñàìîì äåëå î÷åíü ñèëüíî. Òûïðîñòî âûïîëíÿåøü ñëåäóþùóþ êîìàíäó íà óäàëåííîé ìàøèíå (serverip— àäðåñ âíóòðåííåãî ñåðâåðà, gateway-ip — àäðåñ øëþçà):$ ssh -L 8080::80 user@È âóàëÿ, ïîðò 8080 ëîêàëüíîé ìàøèíû ñòàíîâèòñÿ ïîðòîì 80 âíóòðåííåãîñåðâåðà ëîêàëêè. Òåïåðü äîñòàòî÷íî íàáðàòü â âåá-áðàóçåðå àäðåñlocalhost:8080, è òû ïîïàäåøü òóäà, êóäà íàäî. Òâîé SSH-êëèåíò ñîçäàñòòóííåëü ñ SSH-ñåðâåðîì øëþçà, âñå ïåðåäàâàåìûå â ðàìêàõ êîòîðîãîäàííûå áóäóò íàïðàâëåíû íà ïîðò 80 âíóòðåííåãî ñåðâåðà.Áîëåå ðàäèêàëüíûé ñïîñîá — óñòàíîâêà ñîôòà, ñïåöèàëüíî ñîçäàííîãîäëÿ îñóùåñòâëåíèÿ ïðîáðîñà ïîðòîâ. Îäíà èç òàêèõ ïðîãðàìì íîñèòèìÿ rinetd è ïðåäñòàâëÿåò ñîáîé âûñîêîïðîèçâîäèòåëüíûé ñåðâåð,ïîçâîëÿþ ùèé ïðîáðàñûâàòü ëþáîå êîëè÷åñòâî ñîåäèíåíèé. Îí åñòüâ ïàêåòàõ äëÿ ïîïóëÿðíûõ Linux-äèñòðèáóòèâîâ è ïîðòàõ BSD-ñèñòåì.Ïîñëå åãî óñòàíîâêè äîñòàòî÷íî îòðåäàêòèðîâàòü ôàéë /etc/rinetd.conf(/usr/local/etc/rinetd.conf), ïîìåñòèâ òóäà ñòðîêè ñëåäóþùåãî âèäà:1.2.3.4 80 192.168.0.100 80È (ïåðå)çàïóñòèòü ñåðâåð êîìàíäîé:$ sudo /etc/init.d/rinetd restartâ Ubuntu èëè:XÀÊÅÐ 08 /139/ 10 125

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!