'promiscuous'에 해당되는 글 2건

  1. 2013.08.05 Enable Promiscuous Mode (Manually) In Windows 7
  2. 2008.10.16 SSH 터널링을 활용한 MySQL Replication 구축
2013.08.05 16:05

Enable Promiscuous Mode (Manually) In Windows 7

Having trouble with your Network bridge? Enable Promiscuous Mode manually if it’s not currently active. 

What Is The Promiscuous Mode?

Some Network Interface Cards (NICs) may not allow network traffic after you create a Network Bridge. This is due to the inability of NIC to automatically enable Promiscuous Mode when creating a Network Bridge. Following are the steps to enable it manually.


1. In the Start Menu search bar type cmd.exe and press SHIFT + CTRL + ENTER to launch with Elevated Privileges.

2. Enter the following command to know the ID of your NIC netsh bridge show adapter. Here the NIC id is 1.

3. When you know the NIC ID enter the following command to enable the Promiscuous Mode, remember to add the relevant NIC ID,

netsh bridge set adapter 1 forcecompatmode=enable.

4. The above step will enable the Promiscuous Mode. Enter the command we used in Step 2, Now the Force Compatibility Mode (Promiscuous Mode) will display “enabled”.

Promiscuous Mode is automatically enabled when Bridging is activated, but some NIC models have some issues which can be solved by enabling it manually.



출처 : windows7themes.net



Trackback 0 Comment 0
2008.10.16 14:59

SSH 터널링을 활용한 MySQL Replication 구축

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을 셋팅하는것은 인터넷에 자료가 많으니...

출처 => http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55304

 

sftp를 배제한 ssh 터널링을 이용한 ftp 사용하기

FTP는 암호화되지 않은 형태로 인증과정과 파일이 전송이 이뤄진다.이는 전송되는 중간에
스니핑이 이뤄진다면 고스란히 해커(?)의 손에 ID/PW, 전송 파일이 유출될 수도 있음을 의
미한다. 이글에서는 보다 안전하게 ssh 터널링을 통한 FTP 전송과 vsftpd 설정에 대해 소개
한다.

ssh 터널링 만들기

- FTP 서버에서는 ssh 서버가 동작중이어야 한다. (서버명을 free, ID는 truefeel 이라고 가정)
- client에서는 ssh 클라이언트가 있어야 한다.

연결과정을 그러보면.
로컬의 FTP클라언트 -> ssh 클라이언트 -> 네트워크(암호화 전송) -> ssh 서버 -> FTP 서버

터널링을 만들어보자!

# ssh -P10000 -CNf -L10021:free:21 truefeel@free
-C : 압축해서 전송한다.
-N : 명령어 실행없이 시작한다.
-f : 백그라운드로 실행한다.
-L : 원격서버의 포트를 로컬로 포워딩한다. (즉, 터널링을 만들어줌)
     free서버의 FTP(21번 포트)를 로컬의 10021번 포트로 포워딩한다.
     즉 로컬의 10021번 포트를 통해 free의 FTP서버에 접속할 수 있다. 이 때 원격끼리는 암호화되어 전송된다.
    
만약 원격의 ssh서버가 다른 포트를 사용한다면 -p [포트] 옵셥까지 뒤에 붙여주면 된다.
ps aux 하면 ssh가 백그라운드로 떠있는 것을 확인할 수 있다.

ftp명령으로 로컬의 10021번으로 접속을 하면 원격의 free FTP서버로 접속하게 된다.

$ ftp -p localhost 10021
Connected to localhost (127.0.0.1)
220 Secure FTP 서버
Name (localhost:truefeel): truefeel
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (xxx,xxx,xxx,xxx,80,250)
Security: Bad IP connecting.
ftp>

접속은 정상적으로 이뤄졌는데, 명령어를 입력했더니 'Security: Bad IP connecting.'에러가
발생을 했다. /etc/vsftpd.conf에 다음 한 줄을 추가하면 쉽게 해결할 수 있다.

pasv_promiscuous=YES


Trackback 0 Comment 0