[Linux] 사설아이피 사용시 telnet, ssh , dns 등등 느리게 접속되는 현상.






퍼온곳 : http://coffeenix.net/board_view.php?cata_code=5&bd_code=91&bpage=
출처 : sec-info 메일링 리스트

---------------------------------------------------------------------
Re: ping, arp, dns관련하여
날짜: Thu, 24 Jul 2003 16:20:59 +0900
보낸이: "Sukbum Hong" <antihong@tt.co.kr>
받는이: "i" <imalcol@mail.affis.or.kr>, <sec-info@cert.certcc.or.kr>

안녕하십니까?

오늘과내일의 홍석범입니다.

#### ping 과 DNS 에 대해

시스템에 따라 ping 은 Reverse lookup 을 실행합니다.
(참고로 Reverse lookup(역질의) 이란 IP 를 호스트이름으로 변경하는 것을 뜻합니다.)
따라서 10.10.10.6 으로 ping 을 하였을 경우 이 IP 를 호스트 이름으로 변경하려는
시도를 하게 되고, 결국 최상위 root DNS 서버로부터 결과를 찾아가게 됩니다.  
그러나 10.10.10.6 은 사설 IP 이므로 어떤 DNS 서버도 이 IP 에 대한
위임 권한을 갖고 있지 않기 때문에 결국은 timeout 이 될 때까지 대기한 후에야
Reverse lookup 을 포기하고 역질의 없이 해당 IP 로 ping 을 시도하게 되는 것입니다.
말씀하신 57초가 바로 DNS 의 timeout 시간이라 할 수 있습니다.

이를 위해서는 다음과 같이 할 수 있습니다.

* -n 옵션 이용
ping -n 10.10.10.6 와 같이 -n 옵션을 이용하면 reverse lookup 을 시행하지 않습니다.

* /etc/hosts 이용
/etc/hosts 는 일종의 소형 DNS 라고 생각하시면 됩니다.
/etc/hosts 에 해당 IP 를 정의해 주면 역질의를 하지 않습니다.

* /etc/named.conf 이용
/etc/named.conf 에 10.10.10.0/8 대역에 대해 위임 권한을 지정해 주면
최상위 root DNS 서버까지 reverse lookup 을 하지 않게 됩니다.


#### arp 와 DNS 에 대해

arp -a 를 실행하였을 때의 결과를 보면 쉽게 이해할 수 있습니다.

# arp -a
? (192.168.1.246) at 00:D0:B7:9A:25:20 [ether] on eth0
? (192.168.1.191) at 00:D0:B7:88:E8:0D [ether] on eth0
webserver (192.168.1.45) at 00:01:02:54:C2:E7 [ether] on eth0
? (192.168.1.102) at <incomplete> on eth0

여기에서 eth0 인터페이스를 통해 192.168.1.246 의 MAC 주소는 00:D0:B7:9A:25:20,
192.168.1.191의 MAC 주소는 00:D0:B7:88:E8:0D 라는 것을 알 수 있습니다.
그런데, 제일 앞 부분이 다른 3줄은  ? 으로 되어 있는데, 세 번째줄만 ? 대신
webserver 라고 되어 있습니다.  
이 차이점은 ? 은 각각의 IP 주소에 대해 역질의(reverse lookup)를 했는데,
해당하는 호스트 이름이 존재하지 않아 ? 로 표시된 것이고 192.168.1.45의 경우
역질의한 값이  webserver 로 존재하여 위와 같이 표현된 것입니다.

참고가 되셨기를 바랍니다.


감사합니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2009/07/02 09:52 2009/07/02 09:52
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://blog.seabow.pe.kr/rss/response/660

[Linux] sftp 서비스 막기

SSH 를 사용 하지만 SFTP를 사용하지 않을경우
ssh 의 설정 파일
/etc/ssh/sshd_config 에서 ( RHEL 기준 )

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server

위 부분을 주석 처리하면 된다.


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2008/03/12 16:11 2008/03/12 16:11
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , 2 Comments
RSS :
http://blog.seabow.pe.kr/rss/response/513

SSH 터널링으로 방화벽 뚫기...

SSH 터널링 하기



1. 접속할 지점 - 2. 방화벽 - 3. 중개 서버  - 4. 집




위 처럼 3 에 있는 컴퓨터에서 2의 방화벽을 거쳐 3 의 서버로 접속을 하고


4번은 3번으로 접속하면서 터널링을 구성 하는 겁니다.


중매자는 당연히 3번이구요


일단 1번측의 설정은


ssh -R 5000:localhost:22 user@ 3중개 서버의 ip or dns -p (포트가 따로 정해져 있으면 이용하고 기본포트면 -p 옵션 생략 )


1쪽에서 3쪽으로 접속을 합니다.


5000  포트는 중개 서버에 구성할 포트이며 22 번 포트는 로컬 포트 입니다.


그리고 4번 측에선


ssh -L 6000:localhost:5000 user@ 3중개 서버의 ip or dns -p (포트가 따로 정해져 있으면 이용하고 기본포트면 -p 옵션 생략 )


이것도 마찬가지로 4번에서 3번으로 접속을 합니다.


5000 번 포트는 중개 서버에 구성할 포트이며 6000 번 포트는 로컬 포트 입니다.



쉽게 설명하면


1 서버 (22) -> 2 방화벽 -> 3 (5000)중개서버(5000)<- 4 (6000) 집


이렇게 구성 되는거구요...


위의 5000 to 5000 끼리 터널링이 맺어진겁니다.


이제 접속을 해 보죠


4 의 컴퓨터로 ssh -p 6000 localhost


하면 1의 서버와 터널링으로 연결 되면서 비밀번호를 물어 봅니다.


입력하고 로그인 하세요



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/09/08 10:18 2007/09/08 10:18
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://blog.seabow.pe.kr/rss/response/472

ssh 터널링을 이용한 mysql replication 구축

출처 => http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55304
작성자의 요청이 있을경우 자삭 합니다.


[보안] ssh 터널링을 이용한 mysql replication 구축       
글쓴이       전진하는아르고     날 짜     07-07-20 13:22     조 회     54
Mysql 서버의 데이터를 미러링 할 목적으로 replication 을 셋팅하던 도중에...
갑자기 생각이 나서 한번 해봤습니다.
딴거는 다 포트가 막혀있거나 또는 SSH 터널링을 이용하는데 replication 을 위해..
mysql 포트를 열어야 하는것과 mysql 권한에 원격 로그인을 허용한다는게 좀 맘에 안들어서... ^^

replication 을 구축하기 위해 최소 2개의 mysql 서버가 필요하겠죠.
master 서버 : insert, update, delete 등이 일어나는서버..
slave 서버 : select 를 주로 하는 서버...
우선 두 서버가 리눅스라는 가정하에 설명하겠습니다.
한쪽이 윈도우거나 두쪽다 윈도우인 경우는 별도의 툴들이 필요하니...
대체적으로 replication 을 사용하시는 분들은 둘다 리눅스를 많이 사용할듯 싶으니...

설치 환경
master : fedora4 mysql.4.1.16
slave : centos5 mysql.5.0.41

SSH 터널링
우선 ssh 터널링을 만들어야 합니다.
ssh 터널링은 slave 서버쪽에 셋팅합니다.
# ssh -CNf -L3307:127.0.0.1:3306 ssh계정@master서버IP
패스워드를 입력하자.
이제 slave 서버와 master 서버간에 터널링이 되었다.

# netstats -an | grep LISTEN
하면 3307 포트가 열려있는것을 확인할수 있다.

잠깐 ssh 터널링을 설명하자면 slave 서버에서 로컬(-L)의 3307번 포트로 접속하면 slave의 ssh를 통해..
master 의 ssh 에 접속하여 127.0.0.1의 3306번 포트로 접속한다는것이다.

주의 : 여기서 127.0.0.1 은 slave의 client ssh로 master 서버의 ssh 서버에 접속한 다음에 IP를
의미하는것이므로 127.0.0.1 은 master 서버 자신을 의미한다.
mysql 계정들의 host 권한을 모두 localhost 로 만들어둔 상태라..
127.0.0.1 이 아닌 master 서버의 도메인으로 셋팅한 경우에 접속이 되질 않았다.
이것때문에 삽질을 좀했다.

-f 는 백그라운드로 돌린다는 말이고..
-C는 압축한다는 의미이다.
-N 은 명령어 실해없이 시작한다는 ...

그럼.. 실제로 접속을 해보자.
/usr/local/mysql/bin/mysql -u root -p -P 3307 -h 127.0.0.1
db 리스트 및 내용을 확인해보면 master 로 접속된걸 확인할수 있을것이다.

Tip
위에서 언급한 ssh 터널링은 재부팅되면 초기화 되므로 재부팅시 자동으로활성화 되도록 만들어보자
/root/sshlogin 이란 화일을 만든다음
===========================================================================================
#!/usr/bin/expect
spawn bash -c "ssh -CNf -L3307:127.0.0.1:3306 ssh계정@master서버IP"
expect -re "Password:"
sleep 0.2
send "master서버의ssh계정패스워드\r"
interact
===========================================================================================
위와 같이 입력해준다.
만약 expect 가 없다면 expect 를 yum install expect 해서 설치하거나..
http://rpmseek.com 또는 http://rpmfind.net 에서 찾아서 설치하시길....

이제 해당화일에 chmod 700 권한을 주고... ==> chmod 700 /root/sshlogin
/etc/rc.local 에
/root/sshlogin <== 이부분을 추가..
그럼 리눅스 시스템이 부팅하면서 해당 화일을 실행하고 ssh 터널링이 열린다.



Replication
이제 replication 이 남았다.
일반적인 replication 과 설정이 다른것은 하나밖에 없을것이다.
Slave Server 에서...

Master Server
my.cnf
========================================================================================================
[mysqld]
log-bin = mysql-bin
server-id   = 1
binlog-do-db = db_name1
#binlog-do-db = db_name2
========================================================================================================

Slave Server
my.cnf
========================================================================================================
[mysqld]
server-id       = 2
master-host     = 127.0.0.1
master-user     = 리플리케이션아이디
master-password = 패스워드
master-port     = 3307
# DB 별
replicate-do-db = db_name1
#replicate-do-db = db_name2
# 테이블 별
# replicate-do-table=db_name.tbl_name
========================================================================================================
이제 mysql 서버를 각각 실행시키면 ssh 터널링을 이용해 replication 이 된다.
이문서는 mysql 설치 초기에 replication 환경을 만들기 위한것이다..
mysql 이 서비스 되는 상태에서 replication을 셋팅하는것은 인터넷에 자료가 많으니...
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/08/09 15:00 2007/08/09 15:00
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://blog.seabow.pe.kr/rss/response/451

SSH 사용자 접속 제한하기

출처 :  본 자료를 구한지가 너무 오래 되어서 출처가 기억이 안 납니다.
작성자 요청시 자삭 합니다.


ssh로 root 가 직접 접근하는 것은 상당히 위험합니다.
일단 일반 계정으로 ssh 로그인 한 다음에 root 권한으로 바꾸는 것이
좋습니다.


일단


-- /etc/sshusers.allow -------------
admin_user1
admin_user2
------------------------------------


와 같이 한줄에 하나씩 ssh를 이용할 유저를 등록합니다.


그리고


-- /etc/pam.d/sshd ------------------
#%PAM-1.0
auth       required     /lib/security/pam_listfile.so item=user sense=allow
file=/etc/sshusers.allow
auth       required     /lib/security/pam_securetty.so
account    required     /lib/security/pam_stack.so service=system-auth
password   required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_limits.so
------------------------------------


이와 같이 파일을 수정하면 됩니다.
(주석 포함 총 7줄임, auth 항목은 총 두줄이며 첫번째 auth 항목은 한줄임)


sshd 를 재동할 필요없이 곧바로 적용됩니다.


실제로 테스트해보고 적용해 보세요.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/23 13:18 2007/04/23 13:18
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , No Comment
RSS :
http://blog.seabow.pe.kr/rss/response/310

SSH 대표 프로그램 SecureCRT

윈도우용 파일 관리 프로그램의 대명사

사이트 : http://www.vandyke.com/

말 안 해도 알 수 있는...^^ 대표 SSH 프로그램

30일 쉐어웨어로 사용하고 그 이후엔 정품 등록 해야된다...^^


사용자 삽입 이미지
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 삐꾸강아쥐

2007/04/18 22:07 2007/04/18 22:07
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , 2 Comments
RSS :
http://blog.seabow.pe.kr/rss/response/292

한글 Putty ( SSH )

SSH, telnet  기타 등등 유닉스, 리눅스 접속 프로그램

사이트 : http://kldp.net/projects/iputty/

가끔 접속 안 될때가 있어서 파일도 올립니다. 버전이 최신 버전과 다를 수 있습니다.

되도록이면 위 사이트에 가셔서 직접 받으시기 바랍니다.


사용자 삽입 이미지

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 삐꾸강아쥐

2007/04/18 21:42 2007/04/18 21:42
이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색, 이올린 태그검색올블로그 태그검색테크노라티 태그검색태그스토리 태그검색티스토리 태그검색
Response
No Trackback , 2 Comments
RSS :
http://blog.seabow.pe.kr/rss/response/289


Recent Trackbacks

Calendar

«   2010/07   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Site Stats

Total hits:
78737
Today:
24
Yesterday:
78
qrcode
QrooQroo code generator