LINUX
2018.09.11 / 18:16

프락시 서버 squid 설치, 환경설정, 실행, 문제해결 - 실전 - v w f s

xClick
추천 수 4

Squid 라는 프락시 서버를 설치하고 환경을 설정하고 사용해보자.

visible_hostname  squid server error;


Go to line 3049 of your /etc/squid/squid.conf and make sure it looks like this

Code:
#  TAG: visible_hostname
#    If you want to present a special hostname in error messages, etc,
#    define this.  Otherwise, the return value of gethostname()
#    will be used. If you have multiple caches in a cluster and
#    get errors about IP-forwarding you must set them to have individual
#    names with this setting.
  visible_hostname ubuntu-server





1. 리눅스 두번째 시디로부터 squid 프락시 서버 패키지 설치 또는 yum install

rpm  -qa  |  grep  squid
mount  -t  iso9660   /dev/cdrom/  /mnt/cdrom
cd  /mnt/cdrom/Redhat/RPMS/
rpm  -ivh  squid-2.3.STABLE7-4.i386.rpm

또는..

yum list squid
yum  install  -y  squid.i386   and  yum provides squid.i386


위와같이 설치를 마쳤다면,

환경 설정은 각각 아래 파일에서:
 - rpm 설치시 : /etc/squid/squid.conf
 - source 설치시 : /usr/local/squid/etc/squid.conf


2. squid 서버 설정 파일을 변경한다.

http _port  3128         ; 포트 설정

cache_mem  8 MB          ; 캐쉬 메모리 설정

Maximum_object_size  4096 KB
 
cache_dir /var/spool/squid  1000  16  256   ; 1000=>최대 캐쉬디렉토리 크기, 16=>1차 하위 디렉토리 개수, 256=>2차 하위 디렉토리 개수)

cache_access_log  /var/log/squid/access.log

cache_log  /var/log/squid/cache.log

cache_stroe_log  /var/log/squid/store.log 
 
debug_options ALL, 1

acl  all  src  0.0.0.0/0.0.0.0
 
http_access  allow  all

icp_access  allow  all
 
cache_mgr  root

chche_effective_user  squid

cache_effective_group  squid



3. /etc/resolv.conf에 nameserver 설정을 확인한다.

nameserver  206.13.29.12




4. squid 시작 및 종료

service squid start

또는...
/etc/rc.d/init.d/squid start ( rpm 설치시 )

또는...
/usr/local/squid/sbin/squid -D ( 소스 설치시 )


 
 - 부팅시 자동실행 설정

# ntsysv ( rpm 설치시 )


 - 소스파일 설치시 rc.local 에 아래와 같이 추가한다.

/usr/loca/squid/sbin/squid -D &


 

5. 클라이언트에서 프락시 서버 설정하기

Internet Explorer에서:

[도구] --> [인터넷 옵션] --> [연결] --> [LAN 설정] --> [프락시서버] --> [고급]
http 서버의 주소와 포트 지정(예 : 15.1.x.x:3128)

[도구] --> [인터넷옵션] --> [일반] --> [임시인터넷파일] --> [설정]
'페이지를 열때마다' 선택 [임시인터넷 파일 폴더] 항목의  "사용할 디스크 공간"을 최저로 설정



6. 실행시 자주 발생하는 문제

2007/08/20 15:26:24| parseConfigFile: line 2837 unrecognized: 'Myserver1'
FATAL: Could not determine fully qualified hostname.  Please set 'visible_hostname'

Squid Cache (Version 2.6.STABLE4): Terminated abnormally.
CPU Usage: 0.004 seconds = 0.000 user + 0.004 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0

squid 실행히 위와 같은 에러 메세지가 로그파일에 기록되면서 서버의 실행을 거부할 경우에는 /etc/squid.conf 파일의 'visible_hostname' 라인에서 지정한 호스트 네임과 서버에서 사용하고 있는 호스트 네임이 일치하는지 확인해야 한다.

아래 일련의 명령어들을 넣어 호스트 네임을 올바로 사용하고 있는지 확인한다.

uname -n
hostname -a
hostname -s
hostname -d
hostname -f
hostname



/etc/hosts 설정하기

만일 내 IP가 DHCP 서버로 부터 발급 받도록 설정되어 있다면 /etc/hosts 를 아래와 같이 설정한다.

127.0.0.1  mybox.mydomain.com  localhost.localdomain localhost mybox

고정 IP 를 사용한다면 /etc/hosts 를 아래와 같이 설정한다.

127.0.0.1 localhost.localdomain localhost
192.168.0.10 mybox.mydomain.com mybox

위와 같이 /etc/hosts 파일이 수정된 다음에는 hostname 명령으로 서버명을 바꿀 수 있다.

# hostname mybox.mydomain.com



/etc/hostname (존재할 경우)

mybox.mydomain.com


/etc/sysconfig/network
고정 IP 를 사용할 경우 /etc/sysconfig/network 파일은 아래와 같다.

NETWORKING=yes HOSTNAME="mybox.mydomain.com" ...



 /proc/sys/kernel/hostname 확인하기

# cat /proc/sys/kernel/hostname


위 파일을 변경하려면 시스템을 재부팅하던가 아니면 바로 콘솔에서 아래와 같이 한줄을 삽입해 준다.

# echo mybox.mydomain.com > /proc/sys/kernel/hostname




레드헷 리눅스의 경우, DHCP 서버로부터 IP를 받고있다면 로컬 DNS 서버의 /etc/sysconfig/network-scripts/ifcfg 파일에( 또는 ifcfg-eth0 ) 다음 라인을 넣어준다.

DHCP_HOSTNAME="mybox.mydomain.com"




이제 service squid start 로 서버를 돌려보자.