CentOS 7.2 Squid 프록시 서버 설치



SQUID 데몬을 설치해서 PROXY Server 를 운영할 수가 있다.


디폴트 설정이 로컬 네트워크를 위한 환경설정이므로 외부IP에서 접속이 가능한 프록시 서버를 설정해 보자.


테스트 서버는 ConoHa VPS 서버이며 일본 도쿄에 위치해 있다.


IP우회 목적으로 포스팅을 하려고 한 것인데, 네이버, 다음은 로딩이 되는데 페이스북이랑 구글은 왜 안 열리는지 모르겠다.

: 원인을 찾았다.

해결 방법은 아래에 적용되어 있다.


원인은 나중에 알아보고 우선 설치 방법 부터 알아보도록 하겠다.


[root@conoha ~]# yum -y install squid

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: www.ftp.ne.jp

 * epel: ftp.kddilabs.jp

 * epel-debuginfo: ftp.kddilabs.jp

 * epel-source: ftp.kddilabs.jp

 * extras: www.ftp.ne.jp

 * ius: ius.mirror.constant.com

 * updates: www.ftp.ne.jp

Resolving Dependencies

--> Running transaction check

---> Package squid.x86_64 7:3.3.8-26.el7 will be installed

--> Finished Dependency Resolution


Dependencies Resolved


================================================================================

 Package         Arch             Version                  Repository      Size

================================================================================

Installing:

 squid           x86_64           7:3.3.8-26.el7           base           2.6 M


Transaction Summary

================================================================================

Install  1 Package


Total download size: 2.6 M

Installed size: 8.5 M

Downloading packages:

squid-3.3.8-26.el7.x86_64.rpm                              | 2.6 MB   00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : 7:squid-3.3.8-26.el7.x86_64                                  1/1

  Verifying  : 7:squid-3.3.8-26.el7.x86_64                                  1/1


Installed:

  squid.x86_64 7:3.3.8-26.el7


Complete!


yum 으로 squid 패키지를 설치한 다음에 /etc/squid/squid.conf 파일을 수정해주자.


# vi /etc/squid/squid.conf

http_access allow localnet

http_access allow localhost

http_access allow all


#http_port 3128

http_port 8080


cache_dir ufs /var/spool/squid 100 16 256



http_access allow all 추가

: all 을 해주면 모든 클라이언트 IP에서 접속이 가능하다. 특정 IP에서만 접속이 가능하게 하려면

acl myip src 특정IP 추가

http_access allow myip 추가

이렇게 해주면 된다.


http_port 3128 을 8080 으로 변경 (3128 포트도 되어야 하나 코노하에서 무슨짓을 해놓은 듯 하다. 그래서 8080으로 변경하였다.)


cache_dir 찾아서 주석을 풀어주자. (프록시서버가 IP우회 목적도 있지만 데이터를 캐싱해서 속도을 높여주는 목적도 있다.)


이제 환경설정 파일 수정은 끝났으니 방화벽에서 8080 포트를 허용해주자.


[root@conoha ~]# firewall-cmd --permanent --zone=public --add-port=443/tcp

success

[root@conoha ~]# firewall-cmd --permanent --zone=public --add-port=8080/tcp

success

[root@conoha ~]# firewall-cmd --reload

success


방화벽이 iptables 라면


# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

# service iptables save


구글, 페이스북 처럼 https:// 로 SSL 보안모드로 동작하는 페이지는 443 Port 를 방화벽에서 열어주어야 한다.


그리고 정확한 원인은 모르겠지만 ipv6 를 disable 시켜주어야 한다.


# vi /etc/sysctl.conf (아래 내용 추가)

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv4.ip_forward = 1

# sysctl -p (재적용)

[root@conoha ~]# sysctl -p

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv4.ip_forward = 1


이제 방화벽 셋팅 후에 squid 를 시작 및 부팅시에도 시작되게 셋팅해주면 된다.


[root@conoha ~]# systemctl start squid

[root@conoha ~]# systemctl enable squid

Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.


자 이제 모든게 완료되었으니 테스트를 해보도록 하자.




크롬 브라우저에서 프록시로 접속하는 방법은 http://itrooms.tistory.com/177 여기를 참고하면 된다.




블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,