{"id":70,"date":"2013-12-10T23:13:00","date_gmt":"2013-12-10T20:13:00","guid":{"rendered":"http:\/\/www.brf.kiev.ua\/?p=70"},"modified":"2013-12-10T23:16:09","modified_gmt":"2013-12-10T20:16:09","slug":"%d0%bf%d1%80%d0%be%d0%b7%d1%80%d0%b0%d1%87%d0%bd%d1%8b%d0%b9-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-squid-%d1%81-%d0%bf%d0%b0%d1%80%d0%be%d0%bb%d0%b5%d0%bc-%d0%bd","status":"publish","type":"post","link":"https:\/\/www.brf.kiev.ua\/?p=70","title":{"rendered":"\u041f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 Squid \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u043d\u0430 Ubuntu 11.04"},"content":{"rendered":"<p>\u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Kerio \u0432 linux, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e<br \/>\n\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Squid \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 transparent.<!--more--> \u042d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043d\u0430<br \/>\n\u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 transparent<br \/>\n(\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438) \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0435\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<br \/>\n\u044d\u0442\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b transparent \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b \u0443 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0438 \u0432\u0441\u0435.<br \/>\n\u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443 \u0432\u0441\u0435\u0445 \u043d\u0435\u0442<br \/>\n\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\/\u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0442\u0443\u0442 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u043a\u0430\u0442\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u041e\u0434\u043d\u043e \u0438\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u043a\u0430 Squid+PHP+NAT.<\/p>\n<p>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u0441\u0435 \u044d\u0442\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 Ubuntu 11.04.<br \/>\n\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c: MySQL, PHP5, Apache2, iptables, squid<br \/>\napt-get install squid mysql-server mysql-client php5 apache2<br \/>\n\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c transparent \u0432 Squid:<br \/>\nnano \/etc\/squid\/squid.conf<br \/>\n# NETWORK OPTIONS<br \/>\nhttp_port 192.168.0.1:3128 transparent<br \/>\n\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430:<br \/>\necho &#171;1&#187; &gt; \/proc\/sys\/net\/ipv4\/ip_forward<br \/>\n\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c NAT \u0432 iptables:<br \/>\niptables -t nat -A POSTROUTING -s 192.168.0.0\/24 -j MASQUERADE<br \/>\n\u0417\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c 80 \u043f\u043e\u0440\u0442 \u0432 \u041d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440:<br \/>\niptables -t nat -A PREROUTING -s 192.168.0.0\/24 -p tcp -m tcp &#8212;dport 80 -j DNAT &#8212;to-destination 192.168.0.1:80<br \/>\n\u0412 \u0444\u0430\u0439\u043b \/etc\/php5\/apache2\/php.ini \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c:<br \/>\nextension=pdo.so<br \/>\nextension=pdo_mysql.so<br \/>\n\u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0433\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<br \/>\nmysql -u root -p<br \/>\nCREATE DATABASE authphp CHARACTER SET utf8;<br \/>\n\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u043d\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u0435:<br \/>\n\\r authphp<br \/>\n\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 login \u0438 password<br \/>\nCREATE TABLE User (login CHAR(20), password CHAR(20));<br \/>\n\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443<br \/>\nINSERT INTO User VALUES (&#8216;user&#8217;,&#8217;qwerty&#8217;);<br \/>\n\u0412\u044b\u0445\u043e\u0434\u0438\u043c \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 mysql<br \/>\n\\q<br \/>\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u043d\u0435\u0441\u043b\u0438 \u0442\u0443\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u00abuser\u00bb \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u00abqwerty\u00bb<br \/>\n\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0441\u0442\u0430\u043b\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0430\u043c\u043e\u0433\u043e php \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e<br \/>\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u0430\u0437\u043e\u0439 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 RedBeanPHP, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0432<br \/>\n\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430<br \/>\n\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 index.php<br \/>\n&lt;?php<br \/>\nrequire(&#8216;rb.php&#8217;);<\/p>\n<p>$ip = getenv (&#171;REMOTE_ADDR&#187;);<\/p>\n<p>R::setup(&#8216;mysql:host=localhost;dbname=authphp&#8217;,&#8217;root&#8217;,&#8217;qwerty&#8217;);<\/p>\n<p>if( $user = R::findOne(&#8216;User&#8217;,&#8217; login = ? and password = ?&#8217;,<br \/>\narray( $_SERVER[&#8216;PHP_AUTH_USER&#8217;], $_SERVER[&#8216;PHP_AUTH_PW&#8217;] ) )<br \/>\n)<br \/>\n{<\/p>\n<p>header(&#8216;Location: next.html&#8217;);<br \/>\nsystem(&#171;sudo iptables -t nat -D PREROUTING -s 192.168.0.0\/24 -p tcp -m tcp &#8212;dport 80 -j DNAT &#8212;to-destination 192.168.0.1:80&#187;);<br \/>\nsystem(&#171;sudo iptables -t nat -D PREROUTING -s $ip -p tcp -m tcp &#8212;dport 80 -j REDIRECT &#8212;to-ports 3128&#187;);<br \/>\nsystem(&#171;sudo iptables -t nat -A PREROUTING -s $ip -p tcp -m tcp &#8212;dport 80 -j REDIRECT &#8212;to-ports 3128&#187;);<br \/>\nsystem(&#171;sudo iptables -t nat -A PREROUTING -s 192.168.0.0\/24 -p tcp -m tcp &#8212;dport 80 -j DNAT &#8212;to-destination 192.168.0.1:80&#187;);<br \/>\nexit(0);<\/p>\n<p>}<\/p>\n<p>$title = &#171;Squid Server&#187;;<\/p>\n<p>{<br \/>\nheader(&#8216;WWW-Authenticate: Basic realm=&#187;&#8216;.$title.'&#187;&#8216;);<br \/>\nheader(&#8216;HTTP\/1.0 401 Unauthorized&#8217;);<br \/>\ndie(&#171;Otkaz&#187;);<br \/>\n}<\/p>\n<p>?&gt;<\/p>\n<p>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 hext.html<br \/>\nMETA HTTP-EQUIV=&#187;Refresh&#187; CONTENT=&#187;0; URL=http:\/\/google.ru&#187;<br \/>\n\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0435\u0440\u0435\u0434 META &#171;&lt;&#187; \u0438 \u043f\u043e\u0441\u043b\u0435 URL=http:\/\/google.ru&#187; &#171;&gt;&#187;<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u043e\u0447\u0435\u0442 \u0432\u044b\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442, \u0441 \u043d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u0434\u0435<br \/>\n\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f php \u0441\u043a\u0440\u0438\u043f\u0442. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u0435\u043b \u0441\u0432\u043e\u0438 \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430<br \/>\n\u0432 iptables, \u0438 80 \u043f\u043e\u0440\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 squid \u043d\u0430 \u043f\u043e\u0440\u0442 3128<\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e\u0442 \u0438 \u0432\u0441\u0435, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0432\u0435\u0441\u0442\u0438 \u043a\u0440\u0430\u0441\u043e\u0442\u0443 \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043e\u0431\u0449\u0435 \u0447\u0442\u043e \u0431\u044b \u0431\u044b\u043b\u043e<br \/>\n\u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 Kerio, \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0447\u0442\u043e \u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0435\u0440\u0435\u0437 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0447\u0430\u0441<br \/>\n\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430 \u0441\u043d\u043e\u0432\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0412 \u043e\u0431\u0449\u0435\u043c \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430.<br \/>\n\u041d\u0430\u0434\u0435\u044e\u0441\u044c \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u043c\u0443-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u0443\u0434\u0430\u0447\u0438.http:\/\/habrahabr.ru\/post\/140052\/<\/p>\n<p><!--more--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Kerio \u0432 linux, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Squid \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 transparent.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,4],"tags":[],"_links":{"self":[{"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/posts\/70"}],"collection":[{"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":2,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.brf.kiev.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}