![](https://seokwoo.kim/wp-content/uploads/2019/10/squid.png)
Squid Proxy
![](http://3.34.98.191/wp-content/uploads/2019/10/squid1.png)
Squid는 Linux 기반 프록시 응용 프로그램입니다. Squid 프록시 서버는 트래픽, 보안 및 DNS 조회를 필터링하는 데 사용됩니다.
또한 Squid는 리소스를 캐싱하여 웹 서버 속도를 높일 수 있습니다. Squid Proxy는 서버가 자주 방문하는 웹 페이지를 캐시 할 수 있도록합니다. 사용자가 웹 페이지 또는 파일을 요청하면 요청은 프록시 서버 (사용자의 장치와 인터넷 사이의 중개 장치)로 직접 이동합니다. 프록시 서버는 리소스를 가져 와서 사용자에게 릴레이합니다.
우분투에서 Squid Proxy 서버를 설치하고 설치하는 방법을 정리 했습니다.
Install Squid Proxy on Ubuntu
sudo apt-get update
sudo apt-get install squid
시스템은 확인 메시지를 표시해야합니다 Y
. 프로세스가 시작되고 완료됩니다.
Squid Proxy Config
Squid 구성 파일은 /etc/squid/squid.conf에 있습니다.
- 편집기에서이 파일을 열어서 해당 구성하는 방식
sudo nano /etc/squid/squid.conf
2. http_port 옵션 을 찾으십시오 . 기본 Listen Port는 3218로 설정되어 있습니다. 이 포트는 일반적으로 TCP 트래픽을 전달합니다. 시스템이 다른 포트로 트래픽을 전달하고 싶으면 번호를 변경하면 됩니다.
Squid가 요청 및 응답을 수정하지 못하게하려면 프록시 모드를 transparent로 설정할 수도 있습니다.
다음과 같이 변경하십시오.
http_port 1234 transparent
3. http_access 접근을 변경 합니다. 기본은 모든 HTTP 트래픽을 차단하도록 구성되어 있습니다. 이는 웹 트래픽이 허용되지 않음을 의미합니다.
이것을 다음으로 변경하십시오.
http_access allow all
4. visible_hostname 옵션으로 이동하십시오 . 이 항목에 원하는 이름으로 서버에 연결하는 모든 사람에게 서버가 표시되는 이름을 지정 합니다.
5. 다음을 입력하여 오징어 서비스를 다시 시작하십시오.
sudo systemctl restart squid
Squid Client Config
위의 구성으로 기본적인 Squid 프록시 서버를 설정하기 위해 수행되었습니다. 이제 클라이언트 컴퓨터로 전환하고 웹 브라우저를 엽니 다.
브라우저의 네트워크 설정에서 프록시 구성을 지정 합니다. 일반적으로 아래의 메뉴에 있습니다.
메뉴> 옵션> 네트워크 설정> 설정
Squid 호스트 이름과 지정한 포트를 입력 할 수 있습니다. Hosts 파일에 추가를 해서 사용 하던지, DNS에 등록 하여 사용하는 경우 입니다.
그렇지 않으면 Squid 프록시를 호스팅하는 시스템의 IP 주소를 사용하십시오.
정상적으로 설정이 되었는지 테스트하려면 https://whatismyipaddress.com/ip-lookup 을 방문 하여 접속되는 IP를 확인 합니다. 프록시가 작동중인 경우 IP 주소가 프록시 서버의 IP 주소로 표시되어야합니다.
Squid ACL
참고 : 이러한 각 단계 후에 저장하고 종료 한 다음 Squid 서비스를 다시 시작하여 새 구성을 적용해야합니다.
squid.conf 파일을 다시 편집하여 액세스 제어 목록을 작성하십시오.
다음과 같이 새 줄을 추가하십시오.
acl localnet src 192.168.0.15
이렇게하면이 IP 주소의 시스템 만 연결할 수있는 규칙이 만들어집니다. 규칙을 식별하기 위해 행을 주석 처리하는 것이 좋습니다.
acl localnet src 192.168.0.15 # office computer
다음과 같이 IP 주소 범위를 지정하여 사용할 수 있습니다.
acl localnet src 192.168.0.15/30
Add Port ACL
특정 포트를 열려면 다음을 추가하십시오.
acl Safe_ports port 123 # Custom port
Configure Proxy Authentication
이를 통해 사용자는 프록시를 사용하도록 인증해야합니다.
apache2-utils를 설치하여 시작하십시오.
sudo apt-get install apache2-utils
passwd 파일을 작성하고 소유권을 Squid 사용자 프록시로 변경하십시오.
sudo touch /etc/squid/passwd
sudo chown proxy: etc/squid/passwd
새로운 사용자 및 비밀번호 추가
1. Squid에 새 사용자를 추가하려면 다음 명령을 사용하십시오.
sudo htpasswd /etc/squid/passwd newuser
새 사용자의 비밀번호를 입력하고 확인하라는 메시지가 표시됩니다.
2. /etc/squid/squid.conf 파일을 편집하고 다음 명령 줄을 추가하십시오.
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
Squid Proxy에서 웹 사이트 차단
1. 다음 을 입력 하여 새 텍스트 파일 /etc/squid/blocked.acl 을 작성하고 편집하십시오 .
sudo nano /etc/squid/blocked.acl
2.이 파일에서 점으로 시작하여 차단할 웹 사이트를 추가하십시오.
.facebook.com
.twitter.com
참고 : 점은 기본 사이트의 모든 하위 사이트를 차단하도록 지정합니다.
3. /etc/squid/squid.conf 파일을 다시여십시오 :
sudo nano /etc/squid/squid.conf
4. ACL 목록 바로 위에 다음 행을 추가하십시오.
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Squid Services Command
Squid 소프트웨어의 상태를 확인하려면 다음을 입력하십시오.
sudo systemctl status squid
서비스가 실행 중인지 여부를 알려줍니다.
서비스를 시작하려면 다음을 입력하십시오.
sudo systemctl start squid
그런 다음 시스템을 시작할 때 Squid 서비스가 시작되도록 설정하십시오.
sudo systemctl enable squid
지금 status 명령을 다시 실행하여 서비스가 시작되어 실행 중인지 확인할 수 있습니다.
서비스를 중지하려면 다음 명령을 사용하십시오.
sudo systemctl stop squid
시작시 Squid가 시작되지 않도록하려면 다음을 입력하십시오.
sudo systemctl disable squid