рдПрдирдПрдлрдЯреА рдХреЗ рд╕рд╛рде рдЬреЗрдВрдЯреВ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓-рдмрдореНрдк рдХреЗ рд╕рд╛рде рдкрд╛рд░рджрд░реНрд╢реА рд╕реНрдХреНрд╡рд┐рдб

рдЫрд╡рд┐

рдкреГрд╖реНрдарднреВрдорд┐


рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреАрд╕реА рдкрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп-рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП iptables рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдирдП nftables рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ред Nf рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдзрд┐рдХ рдЧрд╣рди рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдХрд╛рд░реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛: рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди, рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкреАрд╕реАрдПрд╕, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЗрд░рд╛ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХрдиреЗрдХреНрд╢рди рдкрд╛рд░реНрд╕рд┐рдВрдЧ (HTTPS) рдХреЗ рд╕рд╛рде рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ (рд╕реНрдХреНрд╡рд┐рдб) рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред 6 рд╡реАрдВ рд░рд┐рд▓реАрдЬрд╝) рдПрдХ рд╡рд╛рдпрд░рд▓реЗрд╕ рдХрдиреЗрдХреНрд╢рди рдкрд░ (рд╣реЛрд╕реНрдЯрдкреИрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред


.
, .
, ( , , . .). , , .
,


┬лGentoo Linux┬╗ ┬лOpenRC┬╗.

sys-kernel/gentoo-sources-5.3.1
USE=""
USE-
-net-proxy/squid-4.8
USE="caps ssl ssl-crtd"
рджреЗрд╡-рдХрд╛рдо / рдЦреБрд▓рддрд╛ рд╣реИ-рез.рез.рез рд╕реА-рдЖрд░ рез
рдпреВрдПрд╕рдИ = "рдПрдПрд╕рдПрдо рдЯреЗрд╕реНрдЯ рдЬрд╝реНрд▓рд┐рдм "
рдПрдирдПрдлрдЯреА рдРрдкnet-firewall / nftables-0.9.2
USE = "рдбреЙрдХ рдЬреАрдПрдордкреА рдЖрдзреБрдирд┐рдХ_рдХрд░реНрдиреЗрд▓"
рдЖрдИрдкреА тАЛтАЛрдЖрд╡реЗрджрдиsys-apps / iproute2-5.2.0-r1
USE = "рдХреИрдкреНрд╕ рдиреНрдпреВрдирддрдо"
рд▓реЙрдЧрд┐рдВрдЧ рд╕реЗрд╡рд╛app-admin / ulogd-2.0.7-r1
USE = "nfct nflog"

рдХрд░реНрдиреЗрд▓ рдЯреНрдпреВрдирд┐рдВрдЧ


рдЫрд╡рд┐
рдПрдХ рд╣реА рдмрд╛рдд рд▓реЗрдХрд┐рди рдкрд╛рда
[*] Networking support --->
Networking options --->
[*] TCP/IP networking
[*] IP: advanced router
[*] IP: policy routing
[*] Network packet filtering framework (Netfilter) --->
[*] Advanced netfilter configuration
Core Netfilter Configuration --->
# ,
[*] Netfilter ingress support
# ,
<*> Netfilter LOG over NFNETLINK interface
<*> Netfilter connection tracking support
<*> Netfilter nf_tables support
<*> Netfilter nf_tables set infrastructure
# ,
[*] Netfilter nf_tables netdev tables support
<*> Netfilter nf_tables conntrack module
# ,
<*> Netfilter nf_tables counter module
# ,
<*> Netfilter nf_tables log module
<*> Netfilter nf_tables masquerade support
<*> Netfilter nf_tables nat module
<*> Netfilter nf_tables socket match support
<*> Netfilter nf_tables tproxy support
IP: Netfilter Configuration --->
[*] IPv4 nf_tables support
# ,
<*> Ethernet Bridge nf_tables support --->


рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдореИрдВ /usr/src/linux/.config рдХрд╛ рдПрдХ рдЙрджреНрдзрд░рдг рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВ:

CONFIG_NET=y
CONFIG_INET=y
<b>CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y</b>
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_SET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_CT=y
CONFIG_NFT_COUNTER=y
CONFIG_NFT_LOG=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_NAT=y
<b>CONFIG_NFT_SOCKET=y
CONFIG_NFT_TPROXY=y</b>
CONFIG_NF_TABLES_BRIDGE=y

рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдиреНрдпрд╛рд╕


рдпрджрд┐ net.lo рд╕реЗрд╡рд╛ рдХреЛ рдмреВрдЯ рд░рдирд╡реЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

rc-config add net.lo boot

рдЙрд╕реА рддрд░рд╣, рдЙрдиреНрд╣реЗрдВ рдиреЗрдЯ рд╕реЗрд╡рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред br0 (рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдФрд░ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рд▓рд┐рдП рдкреБрд▓), рдиреЗрдЯред enp0s25 (рд╡рд╛рдпрд░реНрдб рдЗрдВрдЯрд░рдлрд╝реЗрд╕) рдФрд░ рдиреЗрдЯред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП wlp3s0 (рд╡рд╛рдпрд░рд▓реЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕):

ln -s net.lo /etc/init.d/net.br0
rc-config add net.br0 default

рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЕрдВрддрд┐рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/conf.d/net рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ (рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╢реВрдиреНрдп рд╕реЗ):

рдЫрд╡рд┐

рдПрдХ рд╣реА рдмрд╛рдд рд▓реЗрдХрд┐рди рдкрд╛рда
# TProxy
routes_lo='local default dev lo table 3128'

# Qemu bridge
bridge_force_br0=''
mac_br0='XX:XX:XX:XX:XX:XX'
config_br0='192.168.120.1/24'

# Ethernet
config_enp0s25='dhcp'
modules_enp0s25='udhcpc'
dhcp_enp0s25='release nontp'
udhcpc_enp0s25='--retries 8 --timeout 10'
fallback_enp0s25='10.a.b.c/16'
fallback_routes_enp0s25='default via 10.a.0.1'

# Wi-Fi
if [[ -f /var/lib/misc/hostapd ]]; then
  modules_wlp3s0="!ifconfig !iwconfig !wpa_supplicant"
  config_wlp3s0='null'
else
  config_wlp3s0='dhcp'
  modules_wlp3s0='udhcpc'
  wpa_supplicant_wlp3s0='-Dnl80211'
fi

postup() {
  if [ "${IFACE}" == lo ]; then
    ip rule add fwmark 3128 lookup 3128
  fi
  return 0
}


рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХреА рдЧрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдПрдХ рдирдИ рд░реВрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИрдВ, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ 3128 рдХреЗ рддрд╣рдд, рдФрд░ рдЧреЗрдЯ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ (рд▓реВрдкрдмреИрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕), рдФрд░ рдирд┐рдпрдо рд╣реИ рдЬрд┐рд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреИрдХреЗрдЯ рд╕рдВрдЦреНрдпрд╛ 3128 (рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛) рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдкреИрдХреЗрдЯред рдЗрд╕ рдЕрдиреБрд╕реВрдЪреА рджреНрд╡рд╛рд░рд╛ рд╕реЗрд╡рд╛ рдХреА рдЧрдИред

рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдХреЗ рдкрддреЗ рдмреЗрдореЗрд▓ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд░реВрдЯ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЯ рдХреЛ рд░реЛрдХрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП (рдкрд╛рд░рджрд░реНрд╢реА рдкреНрд░реЙрдХреНрд╕рд┐рдВрдЧ рдкреИрдХреЗрдЯреНрд╕ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИ!), рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ /etc/sysctl.conf (рдпрд╛ рдореМрдЬреВрджрд╛ рд╡рд╛рд▓реЗ рдХреЛ рдмрджрд▓реЗрдВ) рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

рдЫрд╡рд┐

рдпрджрд┐ рдЖрдкрдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ! рддрдм рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

sysctl net.ipv4.conf.enp0s25.rp_filter=0
sysctl net.ipv4.conf.wlp3s0.rp_filter=0

рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯрд┐рдВрдЧ


рдЪреВрдВрдХрд┐ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп (рдЕрдкрд╛рд░рджрд░реНрд╢реА) рдкреЛрд░реНрдЯ рдмреНрд░рд┐рдЬ рдПрдбреНрд░реЗрд╕ ( 192.168.120.1 ) рдкрд░ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ , рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрди рд▓рд╛рдЗрди рдХреЛ /etc/rc.conf рдкрд░ рдЬреЛрдбрд╝реЗрдВ:

rc_squid_need="net.br0"

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

  • рдПрдХ рдирд┐рдпрдорд┐рдд (рдЧреИрд░-рдкрд╛рд░рджрд░реНрд╢реА) рдкреЛрд░реНрдЯ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд╛ рд╕рддреНрдпрд╛рдкрди;
  • ICAP рдПрдХ рдбрд╛рдЯрд╛ рд▓реАрдХ рдирд┐рд░реЛрдзрдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬреИрд╕реЗ рдХрд┐ InfoWatch рдЯреНрд░реИрдлрд┐рдХ рдореЙрдирд┐рдЯрд░);
  • рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдмрдирд╛рдирд╛ рдФрд░ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдирд╛ред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/squid/squid.conf рдЕрдВрдд рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрддрд╛ рд╣реВрдВ):

рдЫрд╡рд┐

рдЫрд╡рд┐

рдПрдХ рд╣реА рдмрд╛рдд рд▓реЗрдХрд┐рди рдкрд╛рда
	#    
1	acl virtual_machines src 192.168.120.0/24
2	acl SSL_ports port 443
	#      HTTPS 
3	acl SSL_ports port 1012        #  badssl.com
	#      HTTPS 
4	acl SSL_ports port 33443       # getcourse.ru  artlinerschool.ru
5	acl Safe_ports port 21         # ftp
6	acl Safe_ports port 80         # http
7	acl Safe_ports port 443        # https
	#     
8	acl Safe_ports port 1012       #  badssl.com
9	acl Safe_ports port 1025-65535 #  
10	acl CONNECT method CONNECT 
11	http_access deny !Safe_ports
12	http_access deny CONNECT !SSL_ports
13	http_access allow localhost manager
14	http_access deny manager
15	http_access allow localhost
	#      -
16	http_access allow virtual_machines
17	http_access deny all
	#   () .   ,       (,   - FTP)
18	http_port 192.168.120.1:3128 ssl-bump options=ALL:NO_SSLv3:NO_TLSv1 cert=/etc/squid/squid.pem
	#      .     ┬лloopback┬╗,         3128,  ,         
19	http_port 127.0.0.1:3129 tproxy
	#      .     ┬лloopback┬╗,         3128,  ,         
20	https_port 127.0.0.1:3130 tproxy ssl-bump options=ALL:NO_SSLv3:NO_TLSv1 cert=/etc/squid/squid.pem
	# -    ,   -
21	always_direct allow all
	#    ,   
22	acl BrokenButTrustedServers dstdomain "/etc/squid/selfsigned.txt"
	#      ,   
23	sslproxy_cert_error allow BrokenButTrustedServers
24	sslproxy_cert_error deny all
	#       TLS
25	tls_outgoing_options min-version=1.2
	#    
26	acl blocked ssl::server_name "/etc/squid/blocked_domains.txt"
	#   ,    -   (          SSL)
27	acl fragile dstdomain "/etc/squid/fragile_domains.txt"
28	acl step1 at_step SslBump1
29	ssl_bump peek step1
	#     
30	ssl_bump terminate blocked
	#       ,    -  
31	ssl_bump splice fragile
	#     ,  
32	ssl_bump bump all
	#    
33	sslcrtd_program /usr/libexec/squid/security_file_certgen -s /var/lib/squid/ssl -M 4MB
34	cache_dir rock /var/cache/squid-r 512 max-size=32768
35	cache_dir aufs /var/cache/squid 512 64 1024 min-size=32768
36	coredump_dir /var/tmp/squid
37	refresh_pattern    ^ftp:          1440 20% 10080
38	refresh_pattern -i (/cgi-bin/|\?) 0    0%  0
39	refresh_pattern    .              0    20% 4320
40	memory_replacement_policy heap GDSF
41	cache_replacement_policy LFUDA
42	maximum_object_size 32 MB
43	logfile_rotate 3
44	debug_options ALL,1,rotate=3
45	cache_mem 512 MB
46	visible_hostname host.shadow.amn
47	udp_incoming_address 127.0.0.1
48	pinger_enable off


рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯрдЕрдк


"рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рд░рди рд╕реНрддрд░ рдкрд░ nftables рдФрд░ ulogd рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ (рдкреИрдХреЗрдЬ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):

rc-config add nftables default
rc-config add ulogd default

рдЪреВрдВрдХрд┐ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдПрдХ рдкреБрд▓ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдХреЛ /etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:

rc_nftables_need="net.br0"

/Etc/sysctl.conf рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

net.netfilter.nf_log.2 = nfnetlink_log

рддрд╛рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ / etc / nftables рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ, рд╣рдо /etc/conf.d/ftftables рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддреЗ рд╣реИрдВ:

NFTABLES_SAVE="/etc/nftables/rules-save"

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдЕрд╕реНрдерд╛рдпреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, /etc/conf.d/nftables рдкрд░ рдПрдХ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:

SAVE_ON_STOP="no"

рдореИрдВ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рд╕реМрдВрдкреЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдБрдЧрд╛:

  1. рдЖрдИрдкреА тАЛтАЛрдлрд┐рд▓реНрдЯрд░ рдЯреЗрдмрд▓ рдХреА рд╕рднреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдо рдкреИрдХреЗрдЯ (рдЖрдЙрдЯрдкреБрдЯ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рднреА!) рдХреЛ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реА рддрд░рд╣ netdev рдлрд╝рд┐рд▓реНрдЯрд░ рдЯреЗрдмрд▓ рдХреЗ рд▓рд┐рдП;
  2. IPv4 рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛ рд╡рд┐рдирд┐рдордп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ARP) рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡рд┐рдирд┐рдордп рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рджрдмрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рди рддреЛ IPv4 рдФрд░ рди рд╣реА IPSec рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
  3. IPv4 рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдкреИрдХреЗрдЯ рдХреЛ рднреА рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  4. рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдорд╛рд░реНрдЯрдлреЛрди (рдЬрдм hostapd рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ) рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, Microsoft рд╡рд┐рдВрдбреЛрдЬ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рддрд╣рдд рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рд╕рд╛рд░рдг рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЛ рд╡рд╛рдпрд░рд▓реЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  5. рдЖрдк рдХреЗрд╡рд▓ рдореИрдХ рдкрддреЗ рд╡рд╛рд▓реЗ рд╣рдорд╛рд░реЗ рд╡рд╛рдИ-рдлрд╛рдИ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ / рдЖрджрд┐ / nftables / рдирд┐рдпрдо-рдЕрдВрдд рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдорд╛рдЗрдирд╕):

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЫрд╡рд┐

рдЫрд╡рд┐

рдПрдХ рд╣реА рдмрд╛рдд рд▓реЗрдХрд┐рди рдкрд╛рда
1	#!/sbin/nft -f
	#  ,     
2	define icmp_types = { destination-unreachable, time-exceeded, parameter-problem, echo-request, echo-reply }
3	define host = 192.168.120.1
4	define br = br0
5	define my_br_mac = XX:XX:XX:XX:XX:XX
6	define eth = enp0s25
7	define my_eth_mac = YY:YY:YY:YY:YY:YY
8	define wifi = wlp3s0
9	define my_wifi_mac = WW:WW:WW:WW:WW:WW
10	define my_phone = TT:TT:TT:TT:TT:TT
11	define virtual_machines = 192.168.120.0/24
12	define privileged_vm = { 192.168.120.22, 192.168.120.129 }
13	define dhcp_client = 192.168.120.224/27
14	define transmission_port = 51413
15	define no_track = { microsoft-ds, ms-wbt-server }
16	define vm_ssh = 192.168.120.70
17	define infowatch_pc = { 10.a.0.0/16, 10.h.0.0/16 }
18	define infowatch_my = 10.a.b.c
19	define squid_normal = 3128
20	define squid_transp = 3129
21	define squid_trassl = 3130
22	define sslvpn.infowatch.com = 46.148.194.86
23	define files.infowatch.ru = 178.16.25.15
24	define iwprint.infowatch.ru = 10.d.e.f
25	define s163.getcourses.ru = 95.213.153.163
26	define tls-v1-2.badssl.com = 104.154.89.105
27	flush ruleset
28	table ip raw {
29	  chain prerouting {
30	    type filter hook prerouting priority -300;
	    #      ,          
31	    meta l4proto { tcp, udp } th dport $transmission_port notrack
32	    tcp sport $no_track ip saddr != $iwprint.infowatch.ru notrack
33	    ip saddr { $sslvpn.infowatch.com, $files.infowatch.ru } tcp sport https notrack
34	  }
35	}
36	table ip filter {
37	  chain input {
38	    type filter hook input priority 0; policy drop;
	    #         ,        ┬лloopback┬╗
39	    iif lo accept
	    #   ICMP       ,       ICMP
40	    icmp type $icmp_types accept
	    #   
41	    ct state invalid counter drop
	    #   ,     (SACK)  TCP.        ,       
42	    tcp flags syn tcp option maxseg size < 999 counter drop
	    #   Bittorrent,         31
43	    iif $eth meta l4proto { tcp, udp } th dport $transmission_port accept
	    #  ,  ,       ,      
44	    tcp flags & (syn | ack) == syn ct state untracked log prefix "Untracked:" group 2 counter counter drop
	    #    ,        32
45	    tcp sport $no_track accept
	    #    ,        33
46	    ip saddr { $sslvpn.infowatch.com, $files.infowatch.ru } tcp sport https accept
	    #     ,   3128 ( )
47	    iif $br ip saddr $virtual_machines mark set 3128 counter accept
	    #       ,      ()  -
48	    iif $br ip daddr $host ip saddr $virtual_machines tcp dport { domain, http, microsoft-ds, nfs, $squid_normal } accept
	    #     
49	    ct state { established, related } accept
	    #       ,   
50	    iif $br udp dport { domain, bootps, tftp, 4011 } counter accept
	    #    ,        ,   (.  38)
51	    counter comment "  "
52	  }
53	  chain output {
54	    type filter hook output priority 100; policy drop;
	    #         ,        ┬лloopback┬╗
55	    oif lo accept
	    #   ICMP       ,       ICMP
56	    icmp type $icmp_types counter accept
	    #          (   48  50)
57	    oif { $eth, $wifi } udp dport . udp sport { bootps . bootpc } counter accept
58	    oif $br ip saddr $host ip daddr { $dhcp_client, 255.255.255.255 } udp sport . udp dport { bootps . bootpc } counter accept
59	    oif $br ip saddr $host ip daddr $virtual_machines udp sport { domain, tftp } counter accept
60	    oif $br ip saddr $host ip daddr $virtual_machines tcp sport { domain, http, microsoft-ds } accept
	    #  -           .      HTTPS   ,            
61	    oif $br ip daddr $virtual_machines tcp sport { http, https, 1012 } counter accept
	    #      ,     ,    1024
62	    meta l4proto { tcp, udp } th sport >= 1025 accept
	    #    ,        ,   (.  54)
63	    counter comment "  "
64	  }
65	  chain forward {
66	    type filter hook forward priority 0; policy drop;
	    #        (MTU)
67	    tcp flags syn tcp option maxseg size set rt mtu counter
	    #         
68	    iif $br ip daddr != $host meta l4proto { tcp, udp } th dport domain drop
	    #      ( -)      ,     ,  ,   .    ,      ( 80  443)     -,    divert         forward (  66  81).  ,   96      ,      80  443
69	    iif $br ip saddr { $privileged_vm, $dhcp_client } accept
70	    oif $br ip daddr { $privileged_vm, $dhcp_client } accept
	    #    ,        ,   (.  66)
71	    counter comment "  "
72	  }
	  #    ┬л   тАв ┬╗     HTTPS  ,   443
73	  set nonstandard_https {
74	    type ipv4_addr . inet_service;
75	    elements = {
76	      $s163.getcourses.ru . 33443, #   artlinerschool.ru
77	      $tls-v1-2.badssl.com . 1012, #   badssl.com
78	  }
79	}
80	  chain divert {
81	    type filter hook prerouting priority -150; policy accept;
	    #   3128 (. .)   TCP,   ,    (  -)
82	    meta l4proto tcp socket transparent 1 mark set 3128 accept
	    #   3128 (. .)   TCP   ,   80.      -
83	    ip daddr != { 127.0.0.1, $host } tcp dport http tproxy to 127.0.0.1:$squid_transp mark set 3128 counter accept
	    #   3128 (. .)   TCP   ,   443.      -
84	    ip daddr != { 127.0.0.1, $host } tcp dport https tproxy to 127.0.0.1:$squid_trassl mark set 3128 counter accept
	    #    3128 (. .)   TCP        nonstandard_https (.  76  77  ).      -
85	    ip daddr . tcp dport @nonstandard_https tproxy to 127.0.0.1:$squid_trassl mark set 3128 counter accept
86	  }
87	}
88	table ip nat {
89	  chain prerouting {
90	    type nat hook prerouting priority 0; policy accept;
	    #               SSH
91	    iif $eth ip daddr $infowatch_my ip saddr $infowatch_pc tcp dport ssh counter dnat $vm_ssh
92	  }
93	  chain postrouting {
94	    type nat hook postrouting priority 100; policy accept;
	    #      ,   -,         .  -     UID  GID 
95	    oif { $eth, $wifi } ip saddr $virtual_machines skuid . skgid { squid . squid } counter masquerade
	    #      ,     ,  ,     , (   69  70).     ,    ,       HTTPS .           nonstandard_https (.  76  77  ).
96	    oif { $eth, $wifi } ip saddr { $privileged_vm, $dhcp_client } tcp dport != { http, https } log prefix "NAT:" group 2 counter masquerade
97	  }
98	}
	
99	table bridge filter {
  #   тДЦ5:     Wi-Fi   
100	  chain input {
    type filter hook input priority -200; policy accept;
    iif $wifi ether saddr != $my_phone counter drop
  }
  #   тДЦ4:    ,    IPv4,      
  chain forward {
101	    type filter hook forward priority -200; policy accept;
102	    oif $wifi ether type arp accept
103	    oif $wifi ip protocol { icmp, tcp, udp } ip daddr != 192.168.120.255 accept
104	    oif $wifi drop
105	  }
  #   тДЦ5:   Wi-Fi     
106	  chain output {
    type filter hook input priority 200; policy accept;
    oif $wifi ether daddr != $my_phone counter drop
  }
}
	#   тДЦ2:     ,    IPv4
107	table netdev filter {
108	  chain enp0s25 {
109	    type filter hook ingress device enp0s25 priority 0; policy drop;
110	    ether type arp accept
111	    ether daddr $my_eth_mac ip protocol { icmp, tcp, udp, gre } accept
112	  }
113	  chain wlp3s0 {
114	    type filter hook ingress device wlp3s0 priority 0; policy drop;
	    #  ARP  EAPOL  ,        
115	    ether type { arp, 0x888e } accept
	    #       ,         ,   
116	    ether daddr { $my_br_mac, $my_wifi_mac, ff:ff:ff:ff:ff:ff } ip protocol { icmp, tcp, udp, gre } accept
117	  }
118	}


рдЙрдкрднреЛрдХреНрддрд╛ рдЕрдиреБрдХреВрд▓рди


рдкреАрд╕реА рдкрд░ рд╣реА


рдкрд╛рд░рджрд░реНрд╢реА рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдзрд┐рдХ рдЧрд╣рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкреАрд╕реА рдкрд░ рд╣реА рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдХреБрдЫ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде, рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░) рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рд╕рд╛рдЭрд╛ рд╕реНрдЯреЛрд░ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬреЛрдбрд╝реЗрдВ:

mkdir -p /usr/local/share/ca-certificates
cp /etc/squid/squid.pem /usr/local/share/ca-certificates/squid.crt

рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

update-ca-certificates

рдЕрдиреБрдкреНрд░рдпреЛрдЧ - рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдХреНрд░реЛрдорд┐рдпрдо рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/env.d/38proxy рдмрдирд╛рдПрдВ:

http_proxy=http://192.168.120.1:3128
https_proxy=http://192.168.120.1:3128
ftp_proxy=http://192.168.120.1:3128

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:

env-update

рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

  1. рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд░реЛрдорд┐рдпрдо рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдмрд┐рдирд╛, рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ / рдЖрджрд┐ / рдХреНрд░реЛрдорд┐рдпрдо / рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ:

    CHROMIUM_FLAGS="--enable-seccomp-sandbox тАФno-proxy-server"
  2. Https_proxy рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, xfreerdp рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

    alias xfreerdp='https_proxy= xfreerdp'
  3. Youtube-dl рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдкрд╛рдпрдерди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдгред рдЕрднреА рддрдХ рдХреЛрдИ рд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢реЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

    alias youtube-dl='youtube-dl --no-check-certificate'

Red Hat Enterprise Linux 6 рдФрд░ 7 рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдкрд░


рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░, PEM рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

update-ca-trust force-enable

рд╣рдо рдкреАрд╕реА рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

scp squid.crt root@192.168.120.66:/etc/pki/ca-trust/source/anchors/

рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рд╣рдо рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

update-ca-trust extract

рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдкрд░


рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╢реАрди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ!) "рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдЯ ..." рдЕрдиреБрднрд╛рдЧ рдореЗрдВред рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдЯреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░рд╛рд╕реНрдкрдмреЗрд░реА рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкреАрд╕реА рдкрд░


рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдЧреНрд░реЗрдб рд╕рдлрд▓ рд░рд╣рд╛ред

рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рд╡рд╛рд▓реЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдкрд░


рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдмрдВрдзрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЧреНрд░рд╛рдлрд┐рдХ рдХреБрдВрдЬреА рдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ (рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдирдпрд╛ рд▓рд┐рдирдХреНрд╕ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ (рдПрдирдПрдлрдЯреА) рдореБрдлреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рд╕реНрдХреНрд╡реАрдб рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдореБрдлреНрдд рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рд╣реИред

рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрд░реЛрдд


1. http://wiki.squid-cache.org/Features/Tproxy4
2. 2.usr / src / linux / Documentation / networking / tproxy.txt
3. http://wiki.nftables.org
4. nft (8)
5. https://www.bounca.org/tutorials/install_root_certificate.html

рд▓реЗрдЦрдХ: рд╢рдорд┐рд▓ рд╕реИрддреЛрд╡Nikodim_Tychoblin

All Articles