간혹 해킹을 당하거나 버그 등으로 네트웍 트래픽을 과도하게 유발하는 데몬이 있을 수 있습니다. 

 

아래와 같은 방법으로 문제를 해결할 수 있으니 참고하시기 바랍니다. 

 

iptraf 으로 특정 포트에서 외부로 특정 주소의 6666포트로 데이터를 12MB/s로 트래픽을 발생하는 현상을 발견했다고 가정해 보겠습니다. (추가로 nload를 사용하면 in/outbound에서 어느 정도 트래픽이 발생하는 정리해서 보여줍니다.)

 

(* iptraf-ng는 보다 편리한 인터페이스를 제공합니다.)

 

iptables에서 ip 혹은 포트를 바로 막을 수도 있겠지만 그보다는 트래픽을 유발하는 데몬을 찾아 삭제하는 것이 좋습니다.

 

만약 긴급한 상황이라 먼저 막아야 하는 상황이라면 아래와 같이 지정한 포트 사용을 차단할 수 있습니다. 

    iptables -I OUTPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 6666 -j DENY    
    systemctl restart iptables

 

바로 차단하기 보다는 해당 포트를 사용하는 데몬을 찾고 싶을 때는 아래 절차로 진행해 보시기 바랍니다. 

 

1. 6666 포트를 사용하는 데몬을 찾습니다.

     netstat -ntlp | grep :6666

2. 프로세스를 찾았다면 kill로 다운시켜보세요.

kill -9 processid

3. 프로세스를 kill 후 다시 가동되는지 감시하세요.

 

4. 다시 올라왔다면 해당 프로세스를 가동하는 또다른 데몬이 있는 겁니다.

  • ps axo pid,ppid,comm | grep processname(6666을 사용하는 프로세스 이름) 으로 검색하면 몇 번 프로세스가 6666을 사용하는지, 해당 프로세스를 가동하는 데몬의 processid가 무엇인지 찾을 수 있습니다.
  • ps -ef | grep ppid 로 해당 프로세스를 찾아 삭제하세요.

 5. 해킹에 대비해 root pw를 수정하세요. 그리고 해당 시스템의 모든 유저들의 pw를 수정하시기 바랍니다.
 6. 이후 정기적으로 iptraf로 과도한 트래픽이 발생하는지 확인하세요. 만약 6666 포트가 아니라도 비슷한 상황이 발생한다면 루트권한을 누군가 탈취한겁니다. 이 경우 같은 네트웍을 사용하는 모든 시스템의 점검과 라우터 장비에 대한 점검이 필요합니다.

 

이상입니다. 

mariadb와 galera를 사용하여 클러스터 구성하는데 두 번째 node부터 실행이 안되서 찾아보니 포트가 다 안열린 것!


http://galeracluster.com/documentation-webpages/firewallsettings.html


3306 : mysql client connections 을 위한 포트

4567 : UDP와 TCP 둘 다 사용하는 Galera Cluster  복제 트래픽, 다중 복제를 위한 포트

4568 : Incremental State Transfer(변경된 상태 전송) 를 위한 포트

4444 : State Snapshot Transfer(전체 상태 전송) 를 위한 포트



Donor (제공자) : 원래 데이터를 가진 기준 노드

Joiner (가입자) : Donor로부터 데이터를 제공받는 노드


Donor에 Joiner가 최조로 접속하면 SST를 통해 전체 복제가 진행된다. 이후 IST를 통해 변경된 데이터들이 전송된다.


기존적으로 rsync를 사용하는데 속도는 빠르지만 Donor의 blocking 시간이 길어 병목이 발생할 수 있다. 

그 외 mysqldump(이름의 뉘앙스처럼.. 엄청 느림!!)와 xtrabackup(속도가 빠르지는 않지만 Donor의 blocking 시간을 줄여준다.)이 있다.



[about setting command line tools ]


react-native run-ios 로 실행을 시도했을 때 command line tools 없다는 에러가 발생하는데, 


xcode-select --install로 설치를 해도 반응이 없다. 


단순히 설치만 해서는 안되고 xcode preferences에 설정을 해야 한다. 


XCode > Preferences > Locations 화면에서 Command Line Tools 이 비어 있다면 이를 설정하면 된다.

--------------------------------------------------------------------------------------------------------

when it occurs an error there is no command line tools you run "react-native run-ios" command


in my case, it doesn't work even I installed the tool like this "xcode-select --install"


the reason is ... you have to set an information in XCode > Preferences > Locations.





[8081 port problem]


sudo lsof -i :8081 로 해당 프로세스 찾아서 kill.

--------------------------------------------------------------------------------------------------------

Find a process using the port 8081 like this " sudo lsof -i : 8081" and kill it.



[Build failed]

Entry, ":CFBundleIdentifier", Does Not Exist


signing 관련 이슈. 생성한 프로젝트의 xcodeproj 로 xcode 실행 후 General > Signing 설정. 이후 빌드하면 관련 에러없이 애뮬레이터로 실행됨.--------------------------------------------------------------------------------------------------------

The reason is about signing. You have to set a signing information in XCode project > General/Signing on XCode project that you made.



[error : npm update check failed]


sudo chown -R $USER:$(id -gn $USER) /Users/YOUR_USERNAME_HERE/.config





+ Recent posts