내 컴퓨터에서 오징어를 설정하여 동일한 컴퓨터에서만 나가는 트래픽을 제어하려고합니다. 내 이해가 정확하다면, 오징어는 대부분의 리눅스 배포판에서 사용자 “squid”로 실행됩니다 (문제가 있다면 Fedora입니까?).
나는 iptables를 설정하여 uid 0과 uid 23 (root & amp; squid)을 제외한 모든 나가는 패킷을 버립니다.
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -m owner --uid-owner 0 -j ACCEPT
-A OUTPUT -m owner --uid-owner 23 -j ACCEPT
-A OUTPUT -j DROP
COMMIT
그런 다음 각 로컬 사용자 계정에 대해 브라우저에 오징어 프록시 정보를 수동으로 입력해야합니다 (그래서 나는 투명 설정 이후라고 생각하지 않습니다). 가능한 경우 오징어 프록시를 통하는 경우를 제외하고 사용자가 인터넷에 액세스하지 못하도록 오징어에 연결할 수 있도록 사용자 / 패스를 요청합니다.
내 현재 squid.conf는 다음과 같지만 전혀 작동하지 않으며 사용자 / 패스 요구 사항을 통합하지 않습니다.
acl ssl_ports port 443
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 !safe_ports
http_access deny CONNECT !ssl_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern .
내가 성취하고자하는 일이 성취 가능한 일인가? 나는 그것에 대해 올바른 방향으로 가고 있는가?
iptables로 해본 적이 있습니까?
이게 내가 10 분 안에 올바르게 셋업하는 법을 배울 것 인 것이 아니라는 것을 깨닫는다. 가이드 / 포인터를 어떻게 활용할 것인가?
답변
다른 프로그램을 위해서는 적어도 DNS에 대한 액세스 권한을 필요로 할 것입니다.
Squid에는 인증 모듈이 있지만 사용자의 경우에는 필요하지 않습니다. 오징어 만 웹에 액세스 할 수 있으므로 모든 사용자가 강제로 사용할 수 있습니다.
프록시를 설정하고 전역으로 구성하는 데 사용되는 환경 변수를 확인하십시오. 설정해야합니다. http_proxy
적어도.
이있다 wpad.dat
프록시를 구성하기위한 메커니즘이지만, 의도 한대로 사용하지 않았습니다.
목록에없는 포트를 사용하는 서비스가 많이 있다는 것을 알게 될 것입니다. 탐색 경험이 좋지 않을 것입니다.
어떤 사이트도 차단하지 않는 것처럼 보이기 때문에 다음을 사용하여 포트를 제한하는 것이 더 간단 할 수 있습니다. iptables
.