.png)
저는 지난 2년 동안 방화벽과 프록시 서버를 운영해 왔습니다. 이는 재부팅을 기반으로 하며 slackware64 - v14.0
일반적으로 재부팅 사이에 오랜 시간 동안 작동했습니다. 최근까지 잘 작동했습니다. 다른 누구도 이 시스템에 접근할 수 없었고 나는 약 60일 동안 이 시스템을 조작하지 않았습니다.
최근에 나는 새 노트북을 설정하고 웹페이지에 액세스하는 동안 인터넷이 느리다는 것을 깨달았습니다. 실제로 http
(포트 80) 사이트는 전혀 로드되지 않았으나 https
다른 서비스/포트는 작동했습니다.
그것을 조사해 보니 오징어 프록시 서버를 다시 시작하면 모든 것이 정상적으로 작동하고 한동안 다시 작동한다는 것을 깨달았습니다. 그런 다음 얼마 후 다시 http 웹 사이트가 없습니다. 전체 프록시 캐시를 제거하고 캐시를 다시 설정해 보았지만 squid -z
소용이 없었습니다. 문제가 다시 발생하는 것 같습니다.
로그에는 일반적인 내용이 없습니다(대부분 TCP 적중 및 실패만 있음). 그러나 로그 크기가 907MB라는 것이 이상했습니다(오징어 로그에 대한 logrotate가 활성화되어 있음에도 불구하고 squid.conf
). 회전(60일 전까지 작동)이 작동하지 않는 이유를 제외하면 잘못된 점을 찾을 수 없습니다. 수동 회전을 했는데도 문제가 계속 발생하므로 오징어 사용을 비활성화했습니다. (포트 80의 방화벽 리디렉션을 비활성화하여)
이것은 가장 이상하지만 어디서부터 살펴봐야할지 모르겠습니다. 누구든지 문제가 있었나요?
일부 업데이트:
특정 노트북(내부 Wi-Fi에 연결됨)에서 http 웹 사이트에 액세스하려고 하면 중단 문제가 시작됩니다. 이 Wi-Fi를 통해 인터넷에 연결되는 다른 노트북과 모바일 장치, 심지어 USB Wi-Fi 동글이 있는 데스크톱 PC도 있지만, 이 노트북이 웹페이지에 액세스하려고 하면 더 이상 누구도 http 인터넷을 사용할 수 없습니다.
방화벽 리디렉션 라인은 다음과 같습니다:
$IPT -t nat -A PREROUTING -p tcp -i $LOCAL_IFACE -s $LOCAL_NET --destination-port 80 -j REDIRECT --to-ports 3128 #TRANSP PROXY
작동이 멈춘 후에 오징어를 전혀 "터치"하지 않고 위의 줄을 주석 처리하고 방화벽을 다시 시작하면 인터넷이 다시 백업됩니다.
그런 다음 다시 주석 처리를 해제합니다. 인터넷이 다시 사라졌습니다.
while squid
은 "루프에 있습니다": sar 1 1000
다음을 반환합니다.
02:56:51 AM all 4.52 0.00 1.01 0.00 0.00 94.47
02:56:52 AM all 5.00 0.00 1.00 0.00 0.00 94.00
02:56:53 AM all 5.00 0.00 1.00 2.50 0.00 91.50
02:56:54 AM all 4.50 0.00 1.50 0.00 0.00 94.00
02:56:55 AM all 4.50 0.00 1.50 0.00 0.00 94.00
02:56:56 AM all 4.52 0.00 1.01 0.00 0.00 94.47
02:56:57 AM all 4.98 0.00 1.49 0.00 0.00 93.53
while squid
이 "루프에" 있지 않으면 sar
다음을 반환합니다.
02:58:36 AM CPU %user %nice %system %iowait %steal %idle
02:58:37 AM all 1.01 0.00 0.50 0.00 0.00 98.49
02:58:38 AM all 2.00 0.00 0.50 2.00 0.00 95.50
02:58:39 AM all 1.00 0.00 0.50 0.00 0.00 98.50
02:58:40 AM all 2.00 0.00 0.00 0.00 0.00 98.00
02:58:41 AM all 1.50 0.00 0.00 0.00 0.00 98.50
따라서 사용자 CPU 사용량이 약간 낮습니다.
이 모든 일이 일어나는 동안 오징어 스레드의 디스크 사용량이 iotop
표시됩니다 ...0.00%
또한 :으로 표시된 오징어 최신 항목은 다음과 tail -f access.log
같습니다.
1389834351.849 382 192.168.18.25 TCP_MISS/200 335 POST http://serverfault.com/posts/validate-body - DIRECT/198.252.206.16 application/json
1389834353.197 388 192.168.18.25 TCP_MISS/200 335 POST http://serverfault.com/posts/validate-body - DIRECT/198.252.206.16 application/json
1389834372.791 453 192.168.18.25 TCP_MISS/200 349 POST http://serverfault.com/posts/566948/editor-heartbeat/edit - DIRECT/198.252.206.16 application/json
위의 내용은 오징어가 "루프에서 벗어난" 동안 복사됩니다. Squid가 방화벽을 통해 활성화되어 있는 동안:
1389834586.593 364 192.168.18.25 TCP_MISS/302 1538 GET http://log.dmtry.com/redir/140952/0/3316/100544580/55099663/210599/0/0/0/1.ver? - DIRECT/54.243.105.45 -
1389834586.634 167 192.168.18.25 TCP_MISS/200 38559 GET http://public.oneallcdn.com/img/api/socialize/providers/logo/sprite_35_35.png - DIRECT/93.184.220.20 image/png
1389834586.639 410 192.168.18.25 TCP_MISS/302 1563 GET http://log.dmtry.com/redir/560228/0/3316/100544579/55097980/858012/0/0/0/1.ver? - DIRECT/54.243.105.45 -
그런 다음 랩톱에서 IP 주소가 있는 항목에 액세스하려고 하면 192.168.18.186
다음과 같은 메시지가 표시됩니다.http://pastebin.com/FM9QLtRC
그래서 전과 후가 어떻게 다른지 모르겠어요...
더욱이 인터넷이 없으면 inet
방화벽/게이트웨이 서버의 인터페이스에 있는 ADSL 모뎀의 웹사이트에도 액세스할 수 없습니다!
이 모든 것이 서버 관리에 대해 더 많은 지식을 가진 사람에게 도움이 되기를 바랍니다.