검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/서버와 서비스
참조 원문 : How to protect Apache with Fail2ban

  Fail2ban은 파이썬으로 만든 침입 방지 프레임워크입니다. 패킷 컨트롤 시스템(예: TCP Wrapper)이나 자체적으로 방화벽(예: iptables)이 설치된 POSIX 시스템이라면 사용할 수 있습니다. Fail2ban의 주요 기능은 로그 파일을 감시하여 너무 많이 로그인을 시도하거나 비정상적인 행동을 하는 호스트의 IP를 차단하는 겁니다. 이 글에서는 아파치에 fail2ban을 적용하여 보안성을 높이는 방법을 소개합니다. Fail2ban의 설치와 기본 사용법은 이 글을 참조하시기 바랍니다.

  이 글에서는 악성 IP를 찾아 감옥(Jail)에 넣기 위해 jail 파일(fail2ban 설정을 담고 있는 파일)에 규칙을 생성하여 대상 IP의 요청을 일정 시간 동안 무시하도록 만들 겁니다.

  내용은 데비안 계열 배포판을 기준으로 /etc/fail2ban/jail.local 파일에서 진행합니다.

1. 표준 설정 활성화
  기본적으로 fail2ban에는 apache에 대한 공격을 어느 정도 막아주는 규칙이 포함되어 있습니다. 이를 사용하기 위해 /etc/fail2ban/jail.local 파일에서 아래의 내용을 작성하여 3개의 "감옥"을 활성화합니다.
[apache]
enabled = true

[apache-noscript]
enabled = true

[apache-overflows]
enabled = true
(1) Jail Apache
  이 감옥은 /var/log/apache*/*error.log 파일에서 정규 표현식으로 패스워드 인증 실패 메시지를 찾습니다. 이 규칙의 목표는 아래의 규칙 중 하나에 해당하는 IP를 모두 차단하는 것입니다.
failregex = [[]client []] user .* authentication failure
            [[]client []] user .* not found
            [[]client []] user .* password mismatch
(2) Jail Apache-noscript
  이 감옥은 /var/log/apache*/*error.log 파일에서 정규 표현식으로 스크립트를 찾을 수 없다는 에러 메시지를 찾습니다. 이 규칙의 목표는 존재하지 않는 스크립트(php, perl, asp)를 찾으려는 IP를 모두 차단하는 것이며 아래는 이 감옥에서 사용하는 필터입니다.
failregex = [[]client []] (File does not exist|script not found or unable to stat): /S*(.php|.asp|.exe|.pl)
            [[]client []] script '/S*(.php|.asp|.exe|.pl)S*' not found or unable to stat *$
(3) Jail Apache-overflows
  이 감옥은 Apache 오버플로우를 시도하는 클라이언트를 정규 표현식으로 잡아냅니다.
failregex = [[]client []] (Invalid method in request|request failed: URI too long|erroneous characters after protocol string)

2. 추가 설정
  추가적인 감옥과 필터 예제 2가지를 소개합니다.

(1) Jail Apache-phpmyadmin
  이 설정의 목표는 phpmyadmin 설치본을 찾으려고 하는 클라이언트를 막는 것입니다. 주의할 점은 phpmyadmin이 설치된 디렉토리 이름이 badadmin에 나열된 것에 포함되어 있지 않아야 한다는 겁니다. 아래 내용을 /etc/fail2ban/jail.local 파일에 추가합니다.
[apache-phpmyadmin]
enabled  = true
port     = http,https
filter   = apache-phpmyadmin
logpath  = /var/log/apache*/*error.log
maxretry = 3
  그리고 /etc/fail2ban/filter.d/apache-phpmyadmin.conf 파일을 만들어 아래 내용을 넣습니다.
# Fail2Ban configuration file
#
# Bans bots scanning for non-existing phpMyAdmin installations on your webhost.
#
# Author: Gina Haeussge
#
 
[Definition]
 
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2
 
# Option:  failregex
# Notes.:  Regexp to match often probed and not available phpmyadmin paths.
# Values:  TEXT
#
failregex = [[]client []] File does not exist: %(docroot)s/(?:%(badadmin)s)
 
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =
(2) Jail Apache-postflood
  이 감옥 규칙의 목표는 apache POST flood 공격을 막는 겁니다. /etc/fail2ban/jail.local에 아래 내용을 추가하면 10초 안에 POST 요청을 10번 이상 하는 클라이언트를 막습니다.
[apache-postflood]
enabled = true
filter = apache-postflood
logpath = /var/log/httpd/access_log
findtime = 10
maxretry = 10
  그리고 /etc/fail2ban/filter.d/apache-postflood.conf 파일을 만들어 아래 내용을 넣습니다.
# Fail2Ban configuration file
#
#
# $Revision: 1 $
#

[Definition]
# Option: failregex
# Notes.: Regexp to catch known spambots and software alike. Please verify
# that it is your intent to block IPs which were driven by
# abovementioned bots.
# Values: TEXT
#
failregex = ^ -.*”POST.*

# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
2013/07/13 21:13 2013/07/13 21:13
Posted
Filed under 프로그램과 명령어/관리와 유지보수
참조 원문 : Setting Up Logrotate on RedHat Linux

1. 소개
  Logrotate는 로그가 많이 쌓이는 상용 서버를 관리하는 관리자를 위한 유틸리티로 디스크 공간을 아끼면서 시스템이 용량 부족으로 뻗는 것을 방지합니다. 일반적으로 이런 문제를 막는 방법은 /var 마운트 포인트를 별도의 파티션이나 로지컬 볼륨으로 설정하는 것이지만 logrotate는 로그 파일을 일정 조건에 따라 다음 파일로 순환시키고 관리하여 해결합니다. 기본적으로 logrotate는 /etc/cron.daily/에 있는 cron 파일을 통해 하루에 한 번씩 실행됩니다.
$ ls -al /etc/cron.daily/logrotate
-rwxr-xr-x 1 root root 372 12월  1  2012 /etc/cron.daily/logrotate

2. Logrotate 설정
  Logrotate를 설정하려면 아래 두 파일을 수정해야 합니다.
  • /etc/logrotate.conf
  • /etc/logrotate.d/ 디렉토리에 있는 서비스별 설정 파일
  /etc/logrotate.conf 파일은 일반 및 디폴트 설정을 담고 있습니다. 어떤 로그 파일에 대한 설정에서 관련 항목이 없다면 그 항목은 이 파일에 있는 내용을 따릅니다. 아래는 파일 내용의 예입니다.
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}

# system-specific logs may be configured here
  • weekly : 로그 파일을 주 단위로 순환시킨다.
  • rotate 4 : 4주 분량의 로그 파일을 보관한다.
  • create : 순환 후 새로운 빈 로그 파일을 생성한다.
  • include : 해당 디렉토리에 있는 파일들을 읽어서 적용한다.
  /etc/logrotate.d/ 디렉토리에는 각 서비스별 설정 파일이 있습니다.

3. 새로운 서비스의 로그를 logrotate의 관리하에 두기
  /var/log/sample.log라는 로그 파일이 있고 이 파일을 매일 순환시키길 원한다고 가정하면 /etc/logrotate.d/ 디렉토리에 새로운 파일을 생성(파일명은 원하는 것으로 생성하나 보통은 서비스명을 사용)하여 아래의 내용을 작성하여 저장합니다.
/var/log/linuxcareer.log {
    missingok
    notifempty
    compress
    size 20k
    daily
    create 0600 root root
}
  참고로 같은 디렉토리에 있는 다수의 로그 파일에 같은 설정을 적용하길 원한다면 와일드카드(*)를 사용할 수 있습니다. 예를 들어 파일명에 /var/log/mylogs/*.log 라고 적는다면 /var/log/mylogs/ 디렉토리 안에 .log 확장자를 가진 모든 파일을 순환시킵니다.

  위의 예제에 있는 각 항목에 대한 설명은 아래와 같습니다.
  • missingok : 로그 파일이 없어도 에러를 출력하지 않습니다.
  • notifempty : 파일이 비어있다면 순환하지 않습니다.
  • compress : 순환 대상을 gzip으로 압축합니다.
  • size : 로그 파일의 크기가 20k보다 클 때만 순환합니다.
  • daily : 매일 순환합니다.
  • create : 퍼미션은 600, 소유자와 소유 그룹은 root로 새로운 로그 파일을 생성합니다.
  그 외에도 많은 옵션이 존재하며 man logrotate를 통해 확인할 수 있습니다.


2013/07/12 15:44 2013/07/12 15:44
Posted
Filed under 프로그램과 명령어/서버와 서비스
참조 원문 : How to Install and Setup Monit (Linux Process and Services Monitoring) Program

  Monit은 서버 프로세스, 파일, 디렉토리, 체크섬, 퍼미션, 파일시스템과 Apache, Nginx, MySQL, FTP, SSH, Sendmail 등 서비스를 모니터하고 관리하는 오픈 소스 툴입니다. 웹 인터페이스를 쓰고 있기 때문에 웹 서버가 필요하며 이를 이용해 시스템 상태를 보고, 프로세스를 제어할 수 있습니다.

Monit로 할 수 있는 것
  프로세스가 돌아가고 있지 않다면 시작할 수 있고, 반응이 없으면 재시작할 수 있으며, 자원을 많이 소모할 경우 중지할 수 있습니다. 또한 파일, 디렉토리, 파일시스템의 변화, 체크섬 변화, 파일 크기 변화, 타임스탬프의 변화를 감시할 수 있습니다. 그리고 원격 호스트의 TCP/IP 포트, 서버 프로토콜, ping을 감사하는 것도 가능합니다. 물론 자체적으로 로그를 기록하며 치명적인 에러와 복구 상태에 대해 경고합니다.


Monit 설치
  레드햇 계열의 경우 EPEL 저장소를 추가해야 합니다. 추가 후 yum으로 설치합니다.
# yum install monit
  데비안 계열은 apt-get으로 바로 설치합니다.
$ sudo apt-get install monit

Monit 설정
  기본적으로 2분마다 서비스를 검사하며 /var/log/monit 파일에 로그를 기록합니다. 웹 서버를 통해 2812 포트로 웹 인터페이스를 제공하며 이를 위해 monit 설정 파일을 수정해야 합니다. 주 설정 파일은 레드햇 계열의 경우 /etc/monit.conf, 데비안 계열의 경우 /etc/monit/monitrc 입니다. 이 파일 안에서 아래에 해당하는 부분의 주석을 제거하고 서버의 IP와 도메인을 입력합니다.
 set httpd port 2812 and
     use address localhost  # only accept connection from localhost
     allow localhost        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly
  그 후 monit 서비스를 재시작하여 새 설정을 읽도록 합니다.
$ sudo /etc/init.d/monit start
  이제 http://주소:2812로 웹 인터페이스에 접속할 수 있습니다. 사용자명엔 admin, 패스워드엔 monit을 넣어 로그인하면 아래와 같은 화면을 볼 수 있습니다.

출처 : 참조 원문


서비스 추가
  웹 인터페이스의 작동을 확인하면 레드햇 계열의 경우 /etc/monit.conf, 데비안 계열의 경우 /etc/monit/monitrc 파일의 끝부분에 감시할 프로그램을 추가합니다. 아래는 기본적인 설정 예제입니다.

Apache
check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout
Apache2
check process apache with pidfile /run/apache2.pid
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program  = "/etc/init.d/apache2 stop"
Nginx
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
MySQL
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
SSH
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/sshd start"
stop program "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

  감시할 프로그램에 대한 내용을 모두 추가한 후 아래 명령어로 틀린 부분이 없는지 확인합니다.
$ sudo monit -t
  이상이 없으면 서비스를 재시작합니다.
$ sudo /etc/init.d/monit restart
  로그 파일을 확인하여 서비스 시작에 문제가 없는지 확인할 수도 있습니다.
$ sudo tail -f /var/log/monit.log
[BDT Apr  3 03:06:04] info     : Starting monit HTTP server at [localhost:2812]
[BDT Apr  3 03:06:04] info     : monit HTTP server started
[BDT Apr  3 03:06:04] info     : 'tecmint.com' Monit started
[BDT Apr  3 03:06:04] error    : 'nginx' process is not running
[BDT Apr  3 03:06:04] info     : 'nginx' trying to restart
[BDT Apr  3 03:06:04] info     : 'nginx' start: /etc/init.d/nginx

출처 : 참조 원문

2013/07/12 10:45 2013/07/12 10:45
Posted
Filed under 프로그램과 명령어/관리와 유지보수
참조 원문 : 25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management

apt-get이란?
  소프트웨어 패키지의 설치, 제거, 업그레이드, 전체 OS의 업그레이드에 사용하는 커맨드 라인 프로그램.

apt-cache란?
  apt 소프트웨어 패키지 캐시를 검색하기 위한 커맨드 라인 도구. 소프트웨어 패키지 검색, 패키지 정보 수집, 데비안 기반 시스템에 설치할 수 있는 패키지 검색에 사용.

APT-CACHE 명령어 예제
1. 사용할 수 있는 모든 패키지 출력
$ apt-cache pkgnames

2. 검색어와 연관된 패키지 이름과 설명 출력
$ apt-cache search 패키지명

3. 패키지 정보 확인
$ apt-cache show 패키지명

4. 특정 패키지의 의존성 확인
$ apt-cache showpkg 패키지명

5. 캐시 현황 확인
$ apt-cache stats


APT-GET 명령어 예제
1. 시스템 패키지 업데이트
  'update' 명령어는 /etc/apt/sources.list 파일에 적힌 곳을 참고하여 패키지 인덱스 파일을 재동기화할 때 사용합니다.

2. 소프트웨어 패키지 업그레이드
  현재 설치된 모든 소프트웨어 패키지를 업그레이드합니다. 다만 업그레이드를 위해 현재 설치된 패키지 중 일부를 제거해야 하거나 다른 패키지를 추가로 설치해야 하는 패키지는 업그레이드를 하지 않습니다.
$ sudo apt-get upgrade
  의존성을 갖추기 위해 소프트웨어 패키지가 추가/삭제되는 것을 개의치 않는다면 아래 명령어를 사용합니다.
$ sudo apt-get dist-upgrade

3. 특정 패키지를 설치하거나 업그레이드
  하나 이상의 패키지를 설치하거나 업그레이드할 때 install 서브 커맨드를 사용합니다. 다수의 패키지를 설치하거나 업그레이드할 땐 대상 패키지를 전부 나열합니다. 또한 와일드카드를 사용할 수도 있습니다.
$ sudo apt-get install 패키지명
$ sudo apt-get install '*검색명*'

4. 업그레이드 없이 설치만 하거나 설치하지 않고 업그레이드만 하기
  '-no-upgrade' 서브 커맨드를 사용하면 이미 설치된 패키지가 업그레이드되는 것을 방지하면서 설치할 수 있으며, '-only-upgrade' 서브 커맨드를 사용하면 반대로 새로운 패키지는 설치하지 않으면서 이미 설치된 패키지를 업그레이드할 수 있습니다.
$ sudo apt-get install 패키지명 --no-upgrade
$ sudo apt-get install 패키지명 --only-upgrade

5. 설정 파일을 보존하면서 패키지 제거
$ sudo apt-get remove 패키지명

6. 패키지 완전히 제거
$ sudo apt-get purge 패키지명

7. 내려받은 패키지 파일(.deb)을 로컬 저장소에서 삭제하여 디스크 공간 확보
  오래되서 지금은 받을 수 없는 패키지를 보관하는 /var/cache/apt/archives/와 /var/cache/apt/archives/partial/ 디렉토리는 건들이지 않습니다.
$ sudo apt-get clean

8. 패키지의 소스 코드만 내려받기
$ sudo apt-get --download-only source 패키지명

9. 패키지의 소스 코드를 내려받아 압축 풀기
$ sudo apt-get source 패키지명

10. 패키지의 소스 코드를 내려받아 압축을 풀고 컴파일
$ sudo apt-get --compile source 패키지명

11. 패키지를 현재 디렉토리에 내려받기만 하고 설치하지 않기
$ sudo apt-get download 패키지명

12. 패키지의 변경사항(Change Log) 확인
$ sudo apt-get changelog 패키지명

13. 패키지 캐시를 업데이트하고 의존성에 문제가 없는지 확인
$ sudo apt-get check

14. 해당 패키지의 소스를 컴파일하기 위해 필요한 패키지 설치
$ sudo apt-get build-dep 패키지명

15. 내려받은 패키지 파일(.deb) 중 이젠 못 받을 정도로 쓸모 없는 것들만 로컬 저장소에서 삭제하여 디스크 공간 확보
  오래되서 지금은 받을 수 없는 패키지를 보관하는 /var/cache/apt/archives/ 디렉토리를 비웁니다.
$ sudo apt-get autoremove 패키지명

16. 과거에 다른 패키지의 의존성 때문에 자동으로 설치했었지만 지금 필요없는 패키지 제거
$ sudo apt-get autoremove
  뒤에 패키지명을 추가로 적으면 remove로 해당 패키지를 제거 후 위 명령어를 사용한 효과가 일어납니다. 그러므로 해당 패키지와 관계된 것들은 물론이고 그와 무관하지만 의존성 문제로 더 이상 필요없게 된 다른 패키지까지 모두 제거됩니다.
2013/07/10 12:50 2013/07/10 12:50
Posted
Filed under 프로그램과 명령어/서버와 서비스
참조 원문 : Setup your personal Cloud server in minutes using ownCloud

  ownCloud는 개인용 파일, 달력, 연락처, 북마크 공유 및 오디오/비디오 스트리밍을 위한 오픈 소스 소프트웨어입니다.

선결 조건
  먼저 아래 패키지들을 설치해야 합니다. 필요하다면 서비스들도 실행하고 방화벽도 재설정하며 mysql도 초기화합니다.
# yum -y install mysql-server httpd php php-mysql wget php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo

# /etc/init.d/mysqld start
# /etc/init.d/httpd start
# chkconfig mysqld on
# chkconfig httpd on

# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
# service iptables restart

# /usr/bin/mysql_secure_installation
  그 후 ownCloud가 사용할 db와 계정을 생성합니다. 아래는 ownCloud를 위한 계정명이 centos일 경우의 예입니다.
[root@cloud ~]# mysql -u root -p

mysql> CREATE DATABASE owncloud;
mysql> GRANT ALL ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'centos';
mysql> GRANT ALL ON owncloud.* TO 'owncloud'@'localhost.localdomain' IDENTIFIED BY 'centos';

ownCloud 설치
  아파치의 root document 디렉토리로 가서 ownCloud를 다운받습니다.
# cd /var/www/html
# wget http://download.owncloud.org/community/owncloud-5.0.7.tar.bz2
# tar xvf owncloud-5.0.7.tar.bz2
# rm owncloud-5.0.7.tar.bz2
# chown -R apache:apache owncloud
# chmod 750 owncloud/data
# chmod 777 owncloud/config
  아파치 설정 파일 파일(/etc/httpd/conf/httpd.conf)에서 아래 부분을 찾아 아래처럼 수정합니다.
# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
   Options Indexes FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
  아파치와 mysql을 재시작합니다.
# /etc/init.d/mysqld restart
# /etc/init.d/httpd restart
  이제 설치가 완료되었으니 웹 브라우저로 접속해서 관리자 계정을 설정하고 사용하면 됩니다.

출처 : 참조 원문 사이트

2013/07/10 09:56 2013/07/10 09:56
Posted
Filed under 프로그램과 명령어/네트워크와 보안
참조 원문 : 10 Useful “IP” Commands to Configure Network Interfaces
관련 글 : [리눅스] iproute2의 유용한 명령어들

  이 글에서는 리눅스에서 deprecated된(하지만 아직 사용 가능한) ifconfig 대신 ip 명령어로 IP, 정적 라우트, 디폴트 게이트웨이 등을 설정하는 방법을 다룹니다.

0. 설정 파일을 통해 관련 정보를 설정하는 방법
  IP 관련 정보를 영구적으로 변경하려면 네트워크 설정 파일을 수정해야 합니다. 물론 관련 파일의 수정 및 네트워크 서비스 재시작에 root 권한이 필요합니다.

  레드햇 계열은 /etc/sysconfig/network-scripts/ifcfg-eth0 파일(eth0 부분을 알맞은 인터페이스명으로 변경)을 수정하여 변경할 수 있습니다. 아래는 해당 파일 내용의 예입니다.
DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=192.168.50.2
NAME="System eth0"
HWADDR=00:0C:29:28:FD:4C
GATEWAY=192.168.50.1
  데비안 계열은 /etc/network/interfaces 파일을 통해 변경할 수 있습니다.
auto eth0
iface eth0 inet static
address 192.168.50.2
netmask 255.255.255.0
gateway 192.168.50.1
  설정 변경 후 네트워크 서비스를 재시작합니다. 루트 권한이 필요합니다.
# /etc/init.d/networking restart

1. 특정 인터페이스에 IP 설정
# ip addr add 192.168.50.5 dev eth0

2. IP 확인
# ip addr show

3. IP 제거
# ip addr del 192.168.50.5/24 dev eth0

4. 네트워크 인터페이스 활성화
# ip link set eth0 up

5. 네트워크 인터페이스 비활성화
# ip link set eth1 down

6. 라우트 테이블 확인
# ip route show

7. 정적 라우트 추가
# ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0

8. 정적 라우트 제거
# ip route del 10.10.20.0/24

9. 정적 라우트를 영구적으로 추가
  위 명령어들로 하는 모든 설정들은 리부팅을 하면 전부 사라집니다. 정적 라우트를 영구적으로 추가하려면 관련 파일에 해당 정보를 추가해야 합니다.

(1) 레드햇 계열
# vi /etc/sysconfig/network-scripts/route-eth0
10.10.20.0/24 via 192.168.50.100 dev eth0
(2) 데비안 계열
$ sudo vi /etc/network/interfaces
up ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
   그 후 네트워크 서비스를 재시작해야 합니다.

10. 디폴트 게이트웨이 추가
# ip route add default via 192.168.50.100


2013/07/09 17:08 2013/07/09 17:08
Posted
Filed under 프로그램과 명령어/모니터링
참조 원문 : Linux: See Bandwidth Usage Per Process With Nethogs Tool

  프로세스별 대역폭 사용량을 볼 수 있는 유틸리티로 겉모양은 top과 비슷합니다. 동일한 기능의 GUI로 된 유틸리티도 있었으면 좋겠네요.

1. 데비안 계열에 설치
$ sudo apt-get install nethogs

2. 레드햇 계열에 설치
# yum install nethogs

3. 사용법
nethogs
nethogs eth1
nethogs [option] eth0 eth1
nethogs [option] eth0 eth1 ppp0
sudo /usr/sbin/nethogs eth0

4. 실행 후 사용할 수 있는 단축키
  • m : 디스플레이 모드 변경(kb/s, kb, b, mb)
  • r : 수신을 기준으로 정렬
  • s : 송신을 기준으로 정렬
  • q : 종료
2013/07/09 16:10 2013/07/09 16:10
Posted
Filed under 프로그램과 명령어/서버와 서비스
링크 : Windows 에서 OpenVPN 서버 구축
링크 : Windows 에서 OpenVPN 서버 구축 #2

  윈도우에서 OpenVPN을 설치 및 사용하는 방법을 소개한 글입니다. 1부에서는 구성원끼리 통신을 위한 설정, 2부에서는 서버를 거처 외부와 통신까지 가능하도록 설정하는 방법을 다루고 있습니다. 윈도우에서 OpenVPN을 구축할 일이 있다면 유용할 것 같습니다.

추가 : 같은 분이 OpenVPN의 상용 버전(OpenVPN Access Server) 사용법을 올리셨군요. 다만 이번엔 CentOS에 설치해서 사용하는 것을 다루고 있습니다.
2013/07/09 15:38 2013/07/09 15:38