'컴퓨터 이야기~ > 소프트웨어' 카테고리의 다른 글
APACHE 서버가 PHP 실행이 느릴 때 해결법 (0) | 2012.10.21 |
---|---|
XAMPP 그누보드 설치시 몇가지 문제 해결법 (0) | 2012.10.21 |
apache 속도 향상 설정 (0) | 2012.09.26 |
윈도우용 cron / nnCron Lite (0) | 2012.09.22 |
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
APACHE 서버가 PHP 실행이 느릴 때 해결법 (0) | 2012.10.21 |
---|---|
XAMPP 그누보드 설치시 몇가지 문제 해결법 (0) | 2012.10.21 |
apache 속도 향상 설정 (0) | 2012.09.26 |
윈도우용 cron / nnCron Lite (0) | 2012.09.22 |
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
이전에 워드프레스 성능 개선팁이라는 게시물을 포스팅했습니다. 비단 워드프레스 블로그에 국한되는 이야기는 아니며 가장 널리 쓰이는 웹서버인 아파치에서 동시접속자를 튜닝하는 방법을 설명하고자 합니다. 여기서 설명하는 것이 절대적인 진리는 아니며 시스템을 꾸준히 모니터링하면서 알맞은 값을 직접 찾으셔야 합니다.
웹 서버를 며칠간 재시작하지 않고 놔둬서 현재 서비스 상태를 파악하는 게 가장 좋을 것 같습니다. 간단히 아파치 서버와 클라이언트 사이의 동시 소켓 연결 개수를 확인하기 위해 아래와 같이 명령합니다.
$ netstat -nta | grep :80.*ESTABLISHED | wc -l
이 연결 개수는 아파치 서버가 현재 처리 중인 소켓 연결 개수이며 앞으로 설명할 MaxClients 수를 넘지 않도록 유의해야 합니다.
그런데 아직 서비스를 시작하기 전이라 웹 서버의 부하를 확인하기가 어렵다면 아파치 벤치마킹 도구(ab)를 이용해볼 수도 있습니다.
$ ab -n 3000 -c 200 http://example.com/
위 명령어는 http://example.com 사이트에 200명의 사용자가 15번씩 총 3000번 요청하는 것입니다. 사이트 주소의 끝에 / (슬래시)를 붙이는 것을 잊지 마세요. 여러 페이지를 계속 접속 시도해 동시접속 부하를 주세요. 그리고 여러 가지 시스템 상황을 모니터링해봅시다.
이렇게 부하를 줘가면서 시스템의 메모리 현황을 측정하겠습니다. 아래 예제에서는 물리 메모리가 2000MB로 확인되었습니다.
$ free -m total used free shared buffers cached Mem: 2000 664 1335 0 15 86 -/+ buffers/cache: 562 1437 Swap: 875 344 531
이제 MySQL 메모리 사용량을 측정합니다.
$ ps aux | grep mysql | awk '{print $6}' | awk '{total = total + $1} END {print total/1024}' 9.11328
그리고 아파치의 메모리 사용량도 측정합니다.
$ ps aux | grep apache2 | awk '{print $6}' | awk '{total = total + $1} END {print total/1024}' 1848.07
아파치 프로세스의 개수도 계산합니다.
$ ps aux | grep apache2 | wc -l 183
그럼 아파치 전체 메모리 사용량을 아파치 프로세스 개수로 나누어 계산해서 아파치 프로세스 평균 메모리 사용량은 약 10.09MB라는 것을 알았습니다. 따라서 이론적인 최대동시연결수는 아래와 같이 계산할 수 있습니다.
(전체 메모리 – MySQL 메모리 사용량) / 아파치 프로세스 평균 메모리 사용량
= (2000 – 9.11) / 10.09
= 197.31
램이 2G인 서버에서 동시연결소켓수가 197.31이면 이미 최대라는 이야기입니다. 실제 서버에는 bind, ssh, postfix, dovecot 다른 데몬 등이 돌아가고 있을 수 있으므로 이 값은 더 줄어듭니다.
아파치에서 동시접속을 처리하는 방법을 이해해야 합니다. 동시접속 처리방법에는 프로세스를 이용하는 법(prefork 방식)과 스레드를 이용하는 법(worker 방식)이 있습니다. 아파치 서버의 기본 동작은 prefork 방식입니다.
prefork 방식은 위 그림처럼 하나의 연결은 스레드가 하나인 자식 프로세스가 처리합니다. 프로세스를 만드는 비용은 스레드를 만드는 비용보다 더 크고 메모리를 더 많이 차지합니다. 하지만 프로세스간 메모리를 공유하지 않아 서로 독립적이기 때문에 문제가 있는 연결이 다른 연결을 간섭하지 않습니다.
반면에 worker 방식은 위 그림처럼 자식 프로세스 안에 여러 스레드가 있고 이 스레드는 하나의 연결을 처리합니다. 스레드를 만드는 것이 프로세스를 만드는 것보다 속도가 더 빠르고 메모리를 덜 차지하지만 문제가 생긴 스레드는 자식 프로세스 안의 다른 스레드까지 망가뜨릴 위험이 있습니다. 또한 경쟁상태(race condition)도 조심해야합니다.
여기서는 가장 널리 쓰이는 prefork 방식이며 이제 본론으로 들어가 최대동시접속자수를 어떻게 튜닝할지 이야기하겠습니다.
앞서 계산해서 얻은 값을 토대로 튜닝한다면 아파치의 prefork 지시어 설정은 아래와 같이 할 수 있습니다.
여기서 기억해둘 사항은 캐싱을 적극적으로 활용하면 아파치 프로세스가 10MB 정도 차지하지만 캐싱하지 않으면 프로세스당 메모리가 30MB까지도 잡힙니다. 즉, PHP 코딩이 아파치 프로세스의 메모리 사용량에 영향을 주고 최대동시접속연결수도 영향을 줍니다. 그리고 MaxClients 값을 비롯해 StartServers 등의 값을 너무 크게 잡으면 오히려 아파치 프로세스의 점유 메모리가 더 커지는 현상이 있으므로 적당한 값을 지정해야 합니다.
ServerLimit 값은 최대 자식 프로세스의 수인데 MaxClients 값보다 높게 설정하지 않아야 합니다. 구글링하다보면 MaxClients 값을 256 이상 지정하기 위해서 아파치 소스를 다시 컴파일해야 한다는 게시물들이 있는데 그럴 필요가 없습니다. 최대값이 2000이라 이미 충분히 큽니다. MaxClients 값이 2000을 넘길 필요가 없다면 여러분은 ServerLimit와 MaxClients 값을 동일한 값으로 지정해주면 됩니다.
StartServer 값은 아파치 데몬을 처음 시작할 때 프로세스 개수이며 이 값은 MinSpareServer 또는 MaxSpareServer의 값과 일치시켜주면 됩니다.
MinSpareServers와 MaxSpareServers 값은 요청을 기다리는 몇 개의 자식 프로세스를 여분으로 둘 지 범위를 지정합니다. 아파치 데몬이 프로세스의 개수를 이 범위 안으로 두기 위해 노력하지만 이를 보장하지는 않습니다. 초당 4개 이상의 자식 프로세스를 생성(spawn)하지 않도록 설정해야 합니다. 보통은 MinSpareServers 값은 MaxClients의 10~25% 정도 크기의 값으로 MaxSpareServers 값은 25~50% 크기의 값으로 지정합니다. 그러나 이 값이 커지면 아파치 프로세스의 점유 메모리도 함께 커지는 현상이 있으니 크다고 능사는 아니므로 유념하세요.
아파치 웹 서버는 오픈소스로서 끊임 없이 패치하고 있지만 C로 작성되어 있어 메모리 누수(leak)나 무한루프 등의 서버 부하(load) 발생할 수도 있습니다. 그래서 일정 횟수 동안 클라이언트 요청을 처리하고 프로세스가 죽도록 되어 있습니다. 아파치 매뉴얼에서는 디폴트로 클라이언트 요청을 10,000번 처리하고 죽는다고 합니다. 이 클라이언트 요청을 몇 번 처리하고 프로세스가 죽을지는 MaxRequestPerChild 값의 변경해 지정할 수 있으며 시스템 사양이 좋다면 이 값을 넉넉히 할 수 있으며 프로세스가 절대 죽지 않도록 하려면 0으로 합니다. 3000에서 4000 정도 주면 적당하지 싶습니다.
이외에도 Timeout, KeepAlive, MaxKeepAliveRequests, MaxKeepAliveTimeout 같은 옵션도 성능에 영향을 미칩니다.
Timeout 10
기본적으로 소켓 연결 유지 시간입니다. 클라이언트가 요청하여 아파치와 연결된 이후로 이 시간 동안 아무런 메시지가 없으면 오류로 처리됩니다. 네트워크 회선 상태가 좋지 않으면 이 값을 크게 할 수 있습니다. 국내 사용자만 고려한다면 10초 정도 국외 사용자까지 고려하면 20초가 좋습니다.
KeepAlive를 On 해으면 첫 요청시에 열어 놓은 연결을 KeepAliveTimeout에서 지정한 시간 동안 끊지 않습니다. 그래서 img src=”http://~” 태그로 이미지를 많이 링크하고 있으면 매번 소켓을 열지 않기 때문에 접속 속도가 향상됩니다. 하지만 동시접속자수는 줄어들 수 있습니다.이 블로그의 경우에는 동시 접속자가 많지 않으므로 빠른 접속 속도를 위해 켰습니다.
KeepAliveTimeout 2
국내 접속자가 많으면 3초 이하 국외 접속자가 많으면 10초까지 지정할 수 있다고 합니다. 10초 이상은 메모리 점유로 동시접속자가 크게 감소할 수 있다고 판단됩니다.
MaxKeepAliveRequests 100
KeepAlive 상태에서 처리할 최대 요청 수로 보통 웹 사이트에서는 100 정도 지정하면 충분합니다.
참고로 개인 블로그가 아닌 정말 접속자가 많은 사이트를 운영할 경우에는 관리상 웹 어플리케이션 서버와 이미지 서버를 분리해 운영하는 것이 맞습니다. 특히, 웹 어플리케이션 서버의 경우에는 KeepAlive Off로 하고 이미지 서버는 연결 유지를 위해 KeepAlive On으로 설정해두기도 합니다.
워드프레스뿐만 아니라 아파치를 쓰는 어떤 웹서비스나 적용 가능한 팁입니다. 이제 쌩쌩 달리는 아파치를 경험하세요.
XAMPP 그누보드 설치시 몇가지 문제 해결법 (0) | 2012.10.21 |
---|---|
한영키가 되도록 고쳐진 realvnc client (0) | 2012.10.01 |
윈도우용 cron / nnCron Lite (0) | 2012.09.22 |
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
MYSQL 기존의 데이터를 UTF-8 으로 한번에 변환시키기. (0) | 2012.09.16 |
윈도우에서 cron 을 사용하는 방법은 wincron, cronw, nncron 등이 있는데 이중에서 nncron 이 가장 사용하기 편하다.
설치 폴더에 cron.tab 파일을 수정하면 된다.
한영키가 되도록 고쳐진 realvnc client (0) | 2012.10.01 |
---|---|
apache 속도 향상 설정 (0) | 2012.09.26 |
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
MYSQL 기존의 데이터를 UTF-8 으로 한번에 변환시키기. (0) | 2012.09.16 |
XP HOME 폴더 또는 프린터 공유시 5개 제한 늘리기 (0) | 2012.09.02 |
윈도우에서 백그라운드에서 console 을 실행하려면 hstart 란 프로그램이 도움이 된다.
유료버전도 있는데 현재 사용해본바로는 무료버전도 잘 동작한다.
예제)
hstart64 /noconsole /d="e:/" "e:/top10.bat"
apache 속도 향상 설정 (0) | 2012.09.26 |
---|---|
윈도우용 cron / nnCron Lite (0) | 2012.09.22 |
MYSQL 기존의 데이터를 UTF-8 으로 한번에 변환시키기. (0) | 2012.09.16 |
XP HOME 폴더 또는 프린터 공유시 5개 제한 늘리기 (0) | 2012.09.02 |
윈도우 ICS 인터넷 공유에서 고정 static IP 할당 방법 (0) | 2012.06.20 |
1) phpmyadmin 에서 SQL 퀘리로 아래를 실행시킨다.
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as stmt FROM `information_schema`.`TABLES` t WHERE 1 AND t.`TABLE_SCHEMA` = '바꾸고 싶은 데이터베이스' ORDER BY 1;
2) 나오는 결과를 drag & drop 해서 메모장에 옮긴다.
3) 다시 이것을 SQL 퀘리에서 실행한다.
4) 마지막으로 SQL 퀘리에서 아래를 실횅한다.
ALTER DATABASE 바꾸고싶은데이터베이스 CHARACTER SET utf8;
모든 Table 과 Column 의 내용이 UTF-8 으로 변환되어 있다.
윈도우용 cron / nnCron Lite (0) | 2012.09.22 |
---|---|
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
XP HOME 폴더 또는 프린터 공유시 5개 제한 늘리기 (0) | 2012.09.02 |
윈도우 ICS 인터넷 공유에서 고정 static IP 할당 방법 (0) | 2012.06.20 |
윈도우 7 pptp VPN 설정 (0) | 2012.06.14 |
XP Home 의 5개 제한은 컴퓨터 개수가 아니라. 연결 session 의 개수이다.
따라서 프린터 공유 1개, 다른 프린터 공유 1개, \\ 로 공유 폴더를 1개 열면 3개 사용한 것이 된다.
따라서 필요없는 공유 프린터 드라이버는 제거하는것이 좋다.
1. 세션 시간을 줄이기
시작->실행->cmd 치고
net config server /autodisconnect:1
2. TCP session 패치
첨부한 파일을 다운 받아서 실행 / 참고로 virus 검사시 경고가 뜬다.
http://www.lvllord.de
참고로 2 번 방법으로 하면 \\ 로 공유 폴더 제한은 풀린다. 하지만 프린터 공유 제한 갯수 5개는 풀리지 않는다.
윈도우에서 console (cmd) 를 백그라운드로 실행하기. (0) | 2012.09.22 |
---|---|
MYSQL 기존의 데이터를 UTF-8 으로 한번에 변환시키기. (0) | 2012.09.16 |
윈도우 ICS 인터넷 공유에서 고정 static IP 할당 방법 (0) | 2012.06.20 |
윈도우 7 pptp VPN 설정 (0) | 2012.06.14 |
우분투에서 pptp VPN 설정 (0) | 2012.06.13 |
공유기에서는 특정 MAC 어드레스를 특정 IP로 DHCP 할당을 정하는 기능이 있는데,
윈도우 자체 내장 공유기에서도 그러한 기능이 가능하다고 한다.
기본 게이트웨이, DNS 및 호스트 이름 구성
ICS 클라이언트는 기본 게이트웨이와 DNS 서버에 대해 ICS 호스트를 사용하도록 구성해야 합니다. 이렇게 하면 ICS 호스트가 클라이언트를 위해 인터넷 게이트웨이 역할을 하고 클라이언트를 위해 이름 확인을 수행합니다. Windows XP ICS에서는 ICS가 사용하는 내부 인터페이스의 주소는 항상 192.168.0.1입니다. 따라서 도메인 이름 시스템(DNS) 및 동적 호스트 구성 프로토콜(DHCP) 요청에 대해 이 주소를 사용하도록 정적 클라이언트를 구성해야 합니다.
또한 Windows XP ICS는 항상 MSHOME.NET의 도메인 이름을 사용하므로 클라이언트에 대해 정규화된 도메인 이름을 지정하려면 클라이언트 이름 다음에 ".MSHOME.NET"을 사용해야 합니다. 예를 들어, "COMPUTER1.MSHOME.NET"은 이름이 COMPUTER1인 내부 클라이언트의 정규화된 이름입니다.
정적 클라이언트를 구성하려면 다음 단계를 사용하십시오.
참고: 이 문서에서는 클라이언트 컴퓨터가 Windows XP를 실행하고 있다고 가정합니다. 어떤 운영 체제를 클라이언트에서 실행하는지에 관계 없이 목적은 같지만 실제 프로세스는 다를 수 있습니다. 1.시작, 제어판, 네트워크 및 인터넷 연결을 차례로 누른 다음 네트워크 연결을 누릅니다.
2.개인 ICS 네트워크에 연결된 네트워크 연결을 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
3.일반 탭의 이 연결에 다음 항목을 사용 목록에서 인터넷 프로토콜(TCP/IP)을 누른 다음 속성을 누릅니다.
4.일반 탭에서 다음 IP 주소 사용을 누릅니다. 항목을 다음과 같이 구성합니다. ?IP 주소: 이 클라이언트에 대해 선택한 IP 주소(예: 192.168.0.100)
?서브넷 마스크: 255.255.255.0
?기본 게이트웨이: 192.168.0.1
?다음 DNS 서버 주소 사용을 누른 다음 기본 설정 DNS 서버 상자에 192.168.0.1을 입력합니다.
5.고급을 누른 다음 DNS 탭을 누릅니다.
6.이 연결의 DNS 접미사 상자에 MSHOME.NET을 입력합니다.
7.확인을 누릅니다.
8.확인을 누릅니다.
이름 확인을 위해 컴퓨터 이름을 적어 둡니다. 1.시작을 누르고 제어판을 누른 다음 성능 및 유지 관리를 누르고 시스템을 누릅니다.
2.컴퓨터 이름 탭을 누릅니다.
3."전체 컴퓨터 이름" 줄의 항목을 적어 둡니다.
이 문서의 목적을 위해 "전체 컴퓨터 이름" 줄에 나열된 이름에서 첫 번째 마침표 앞(마침표는 제외)에 나오는 부분까지가 컴퓨터 이름에 해당합니다. 예를 들어, "COMPUTER1."이 나열되면 컴퓨터 이름은 COMPUTER1(마침표 제외)입니다.
4.열려 있는 모든 대화 상자를 닫습니다.
정적 클라이언트를 Hosts 파일에 추가
정적 구성을 완료하려면 각 정적 클라이언트를 ICS 호스트의 Hosts 파일에 둡니다. Hosts 파일을 사용하면 이름 확인 속도가 증가하고 인터넷에서 DNS 서버로 불필요한 쿼리가 보내지지 않습니다. 인터넷에 전화 접속 연결하는 경우 정적 클라이언트를 Hosts 파일에 추가하면 인터넷 연결을 위해 전화 접속하는 트래픽이 최소화됩니다. 1.Windows XP 기반 ICS 호스트 컴퓨터에서 Windows 탐색기를 시작하고 다음 폴더를 엽니다.
%SystemRoot%\System32\Drivers\Etc
2.이 폴더에는 사용자가 알고 있어야 하는 두 파일이 들어 있습니다. Hosts.ics 파일은 ICS가 동적으로 구성된 클라이언트에 대한 정보를 저장하는 데 사용됩니다. 연결이나 데이터 손실을 막기 위해 이 파일은 변경하지 마십시오. Hosts 파일(파일 이름 확장명 없음)은 정적으로 구성된 클라이언트에 대한 정보를 추가하는 파일입니다. Hosts 파일을 마우스 오른쪽 단추로 누른 다음 열기를 누릅니다. 목록에서 프로그램 선택을 누른 다음 확인을 누릅니다. 프로그램 목록에서 메모장을 누른 다음 확인을 누릅니다. 메모장이 시작되고 Hosts 파일의 내용이 표시됩니다.
3.파일에는 "127.0.0.1 localhost"라는 항목만 들어 있을 것입니다. 삽입 포인터를 마지막 항목 다음의 첫 번째 빈 줄로 이동합니다.
4.앞의 항목과 같은 모델에 따라 먼저 정적으로 구성된 클라이언트의 IP 주소를 입력하고 Tab 키를 누른 다음 정규화된 컴퓨터 이름을 입력합니다. 예를 들어, 정적으로 구성된 클라이언트의 IP 주소가 192.168.0.100이고 호스트 이름이 COMPUTER1인 경우 다음과 같이 입력합니다.
192.168.0.100 COMPUTER1.MSHOME.NET
IP 주소와 이름을 구분하는 것은 탭 문자라는 사실을 염두에 둡니다.
5.Enter 키를 두 번 눌러 마지막 항목 다음에 빈 줄을 두 개 만듭니다. 파일을 저장한 다음 메모장을 끝냅니다.
이렇게 하면 정적으로 구성된 클라이언트가 ICS 네트워크에 참가할 수 있도록 구성이 완료됩니다.
[출처 : http://support.microsoft.com/kb/309642/ko]
그리고 DHCP는 무조건 192.168.0.1 대역을 할당 하도록 되어 있는데, 이를 변경하는 방법은 아래와 같다.
ICS 호스트에서 DHCP 서비스의 IP 범위를 변경하려면 다음과 같이 하십시오.
1.레지스트리 편집기를 사용하여 다음 레지스트리 키에서 IntranetInfo 값의 데이터 값을 수정합니다.
Hkey_Local_Machine\System\CurrentControlSet\Services\ICSharing\Settings\General
나열된 첫 번째 숫자는 해당 ICS 호스트의 내부 IP 주소의 IP 주소입니다. 두번째 숫자는 쉼표로 구분된 서브넷 IP 주소입니다. 새 범위의 첫 번째 IP 주소를 입력하고, 쉼표로 구분한 다음 서브넷 마스크(예: 169.254.0.1,255.255.0.0.)를 입력합니다.
2.다음 레지스트리 키에서 Start 값의 데이터 값을 수정합니다.
Hkey_Local_Machine\System\CurrentControlSet\Services\ICSharing\Addressing\Settings
값을 선택한 IP 범위의 두번째 주소로 변경합니다. 이 주소 값은 IntranetInfo 키에 사용되는 IP 주소보다 작거나 같을 수 없습니다.
3.같은 레지스트리 키에서 Stop 값의 데이터 값을 수정합니다. 선택한 IP 범위의 마지막 IP 주소를 입력합니다.
4.시작을 누르고 설정을 가리키고 제어판을 누른 다음 네트워크를 두 번 누릅니다.
5.TCP/IP(홈)-> 네트워크 어댑터를 두 번 누릅니다.
6.IP 주소 탭의 IP 주소 지정 상자에 IntranetInfo 값에 대해 지정한 값을 입력합니다. 서브넷 마스크 상자에서 레지스트리의 서브넷 마스크에 사용한 값을 입력합니다.
7.확인을 누른 다음 다시 확인을 누릅니다. 컴퓨터를 다시 시작하라는 내용의 메시지가 나타나면 컴퓨터를 다시 시작합니다.
8.컴퓨터가 다시 시작된 후 1분동안 기다립니다.
9.각 클라이언트에서 시작을 누르고, 실행을 누르고, winipcfg를 입력한 다음 확인을 누릅니다.
10.모두 해제를 누른 다음 모두 갱신을 누릅니다.
앞에서 설명한 방법으로 이러한 특정 ICS 설정을 변경할 수는 있지만 ICS에 대한 IP 설정을 기본 구성과 다르게 사용자 지정하는 것은 Microsoft 고객 기술지원부에서 지원하지 않습니다.
MYSQL 기존의 데이터를 UTF-8 으로 한번에 변환시키기. (0) | 2012.09.16 |
---|---|
XP HOME 폴더 또는 프린터 공유시 5개 제한 늘리기 (0) | 2012.09.02 |
윈도우 7 pptp VPN 설정 (0) | 2012.06.14 |
우분투에서 pptp VPN 설정 (0) | 2012.06.13 |
CPU, Memory, Disk 사용량 체크 프로그램 (Win7) (0) | 2012.05.30 |
Point to Point Tunneling Protocol | |||||||||||||||||||
Windows-7 ppTp 가상사설망(VPN) 설정
| |||||||||||||||||||
|
XP HOME 폴더 또는 프린터 공유시 5개 제한 늘리기 (0) | 2012.09.02 |
---|---|
윈도우 ICS 인터넷 공유에서 고정 static IP 할당 방법 (0) | 2012.06.20 |
우분투에서 pptp VPN 설정 (0) | 2012.06.13 |
CPU, Memory, Disk 사용량 체크 프로그램 (Win7) (0) | 2012.05.30 |
simplex adblock (0) | 2012.04.13 |
2010/04/23 11:45
$ sudo apt-get install pptpd
2./etc/pptpd.conf 파일에서
아이폰에 할당할 IP 대역 설정
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
3. /etc/resolv.conf에 등록된 네임서버 IP를 확인해서 /etc/ppp/pptpd-options 파일에 등록ms-dns 164.124.101.2
ms-dns 128.126.63.1
4. /etc/ppp/chap-secrets 파일에 VPN 계정 등록 (볼드 이탤릭채로 된 부분만 적당히 변경)your-id pptpd your-password *
참고로 *는 모든 IP에서 접속을 허용하겠다는 의미5. pptpd 서버 리스타트
$ sudo /etc/init.d/pptpd restart
6. /etc/sysctl.conf 파일에서 IP 포워딩 설정 활성화net.ipv4.ip_forward=1
7. IP 포워딩 설정 적용$ sudo sysctl -p
8. iptable 설정$ sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
만약 우분투 서버가 방화벽을 사용중이라면 pptpd가 사용하는 1723 포트를 별도로 열어줘야 한다.
9. 아이폰에서 VPN 환경 설정설정 -> 일반 -> 네트워크 -> VPN -> VPN 구성추가,
1) PPTP 선택
2) 설명: 아무거나 입력
3) 서버: 우분투 서버 IP 또는 도메인
4) 계정: your-id
5) RSA SecurID: OFF
6) 암호: your-password
7) 암호화 단계: 자동
8) 모든 트래픽 보내기: ON
저장 후 VPN을 ON 시키면 연결된다.
에서 가져왔다.
윈도우 ICS 인터넷 공유에서 고정 static IP 할당 방법 (0) | 2012.06.20 |
---|---|
윈도우 7 pptp VPN 설정 (0) | 2012.06.14 |
CPU, Memory, Disk 사용량 체크 프로그램 (Win7) (0) | 2012.05.30 |
simplex adblock (0) | 2012.04.13 |
boost path 사용법 (0) | 2012.04.08 |
윈도우 7 pptp VPN 설정 (0) | 2012.06.14 |
---|---|
우분투에서 pptp VPN 설정 (0) | 2012.06.13 |
simplex adblock (0) | 2012.04.13 |
boost path 사용법 (0) | 2012.04.08 |
고스트 복원 후 드라이브 문제로 부팅이 안될 때 (0) | 2012.03.18 |