Давно такого не робив, а тут попросили. Анонімний ipv4 to ipv6 proxy based on Squid
Прості речі по типу встановлення squid опускаю. До сервера має іти ipv6 subnet зазвичай з маскою /64. Я використовую Linux Debian 10, для додавання сабнету та IP до нього прописую параметри у
1 |
/etc/network/interfaces |
В моєму випадку він виглядав так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug ens3 iface ens3 inet dhcp iface enp1s0 inet6 static address 2001:19f0:8001:1078:5400:04ff:fe23:d975 netmask 64 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0001 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0002 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0003 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0004 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0005 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0006 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0007 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0008 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0009 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0010 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0011 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0012 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0013 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0014 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0015 up /sbin/ip -6 addr add dev enp1s0 2001:19f0:8001:1078:0000:0000:0000:0016 |
після чого рестартуєм мережу:
1 |
systemctl restart networking.service |
далі ідемо до конфігурації squid, я просто додаю готовий конфіг та й усе:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
http_port 3.3.3.3:10000 name=port10000 http_port 3.3.3.3:10001 name=port10001 http_port 3.3.3.3:10002 name=port10002 http_port 3.3.3.3:10003 name=port10003 http_port 3.3.3.3:10004 name=port10004 http_port 3.3.3.3:10005 name=port10005 cache deny all hierarchy_stoplist cgi-bin ? access_log none cache_store_log none cache_log /dev/null refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 dns_v4_first off acl to_ipv6 dst ipv6 acl from_port10000 myportname port10000 tcp_outgoing_address 2001:19f0:8001:1078::1 from_port10000 tcp_outgoing_address 2001:19f0:8001:1078::1 !all acl from_port10001 myportname port10001 tcp_outgoing_address 2001:19f0:8001:1078::2 from_port10001 tcp_outgoing_address 2001:19f0:8001:1078::2 !all acl from_port10002 myportname port10002 tcp_outgoing_address 2001:19f0:8001:1078::3 from_port10002 tcp_outgoing_address 2001:19f0:8001:1078::3 !all acl from_port10003 myportname port10003 tcp_outgoing_address 2001:19f0:8001:1078::4 from_port10003 tcp_outgoing_address 2001:19f0:8001:1078::4 !all acl from_port10004 myportname port10004 tcp_outgoing_address 2001:19f0:8001:1078::5 from_port10004 tcp_outgoing_address 2001:19f0:8001:1078::5 !all acl from_port10005 myportname port10005 tcp_outgoing_address 2001:19f0:8001:1078::6 from_port10005 tcp_outgoing_address 2001:19f0:8001:1078::6 !all acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl news src 1.1.1.1/32 2.2.2.2/32 3.3.3.3/32 acl SSL_ports port 443 acl SSL_ports port 5656 # SolusVM SSL acl Safe_ports port 5353 # SolusVM without SSL acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access deny !to_ipv6 http_access allow to_ipv6 http_access allow manager localhost http_access allow news http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all forwarded_for off request_header_access Allow allow all request_header_access Authorization allow all request_header_access WWW-Authenticate allow all request_header_access Proxy-Authorization allow all request_header_access Proxy-Authenticate allow all request_header_access Cache-Control allow all request_header_access Content-Encoding allow all request_header_access Content-Length allow all request_header_access Content-Type allow all request_header_access Date allow all request_header_access Expires allow all request_header_access Host allow all request_header_access If-Modified-Since allow all request_header_access Last-Modified allow all request_header_access Location allow all request_header_access Pragma allow all request_header_access Accept allow all request_header_access Accept-Charset allow all request_header_access Accept-Encoding allow all request_header_access Accept-Language allow all request_header_access Content-Language allow all request_header_access Mime-Version allow all request_header_access Retry-After allow all request_header_access Title allow all request_header_access Connection allow all request_header_access Proxy-Connection allow all request_header_access User-Agent allow all request_header_access Cookie allow all request_header_access All deny all |
В принципі і все, якщо є якийсь фаєрвол – не забуваємо на ньому відкрити порти