Poderia, por favor, aconselhar sobre o seguinte:
infra-servidor com IP x.x.x.x (sem conectividade com a Internet) faz o seguinte pedido:
$ wget http://google.com
--2016-11-04 09:32:55-- http://google.com/
Resolving google.com (google.com)... 172.217.22.110, 2a00:1450:4001:81d::200e
Connecting to google.com (google.com)|172.217.22.110|:8888... failed: Connection timed out.
O proxy-server (squid ouvindo no 8888) possui as seguintes interfaces: eth1: 1.1.1.1 onde todos os pedidos recebidos do infra-servidor estão chegando eth2: 2.2.2.2 que possui conectividade com a Internet com uma rota padrão (80.443) porque seu endereço é traduzido no firewall (gateway)
Ao fazer um tcpdump no servidor proxy e eth1 (interface de entrada) eu vejo corretamente o tráfego chegando:
09:49:10.033951 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [S], seq 258250387, win 29200, options [mss 1460,sackOK,TS val 3204336400 ecr 0,nop,wscale 7], length 0
09:49:11.034310 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [S], seq 258250387, win 29200, options [mss 1460,sackOK,TS val 3204337402 ecr 0,nop,wscale 7], length 0
09:49:13.042720 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [S], seq 258250387, win 29200, options [mss 1460,sackOK,TS val 3204339408 ecr 0,nop,wscale 7], length 0
09:49:17.047283 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [S], seq 258250387, win 29200, options [mss 1460,sackOK,TS val 3204343416 ecr 0,nop,wscale 7], length 0
09:49:22.303238 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [R], seq 258250387, win 1400, length 0
09:49:25.060419 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [S], seq 258250387, win 29200, options [mss 1460,sackOK,TS val 3204351424 ecr 0,nop,wscale 7], length 0
09:49:30.321096 IP x.x.x.x.45977 > 1.1.1.1.8888: Flags [R], seq 258250387, win 1400, length 0
Ao fazer um tcpdump no servidor proxy e eth2 (interface de saída) não vejo nenhum tráfego HTTP de saída
O que eu mudei na configuração do squid é apenas o seguinte:
acl infra-server src x.x.x.x/32
http_access allow infra-server
http_port 1.1.1.1:8888
Em termos de sistema, o SElinux está configurado para ser permissivo:
# getenforce
Permissive
e como o firewalld está configurado é:
# firewall-cmd --list-all --zone=internal
internal (active)
interfaces: eth1
sources:
services: dhcpv6-client ipp-client mdns samba-client ssh
ports: 8888/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
# firewall-cmd --list-all --zone=external
external (active)
interfaces: eth2
sources:
services: http https ssh
ports:
masquerade: yes
forward-ports:
icmp-blocks:
rich rules:
Eu só preciso da regra para encaminhar o tráfego de eth1 para eth2 (eu acho). Você poderia, por favor, avisar?
Tags networking proxy squid firewalld linux