sudoer 추가하기

특정 사용자에게 권한을 위임하기 위해서는 /etc/sudoers 파일을 수정해야합니다.

root@teamlog:/# ls -al /etc/sudoers
-r--r----- 1 root root 774 1월 4 17:57 /etc/sudoers
root@teamlog:~# chmod 660 /etc/sudoers
root@teamlog:~# vi /etc/sudoers

파일 권한이 440이여서 읽기만 가능하기 때문에 읽고 쓸수 있게 660으로 바꿔서 작업을 하겠습니다.

# User privilege specification
root ALL=(ALL:ALL) ALL
wyun13043 ALL=(ALL:ALL) ALL

루트 권한을 주고 싶은 일반 유저 아이디를 밑에 같은 형식으로 적어주시면 됩니다.

root@teamlog:~# chmod 440 /etc/sudoers

설정이 끝나시면 권한을 초기 권한으로 바꿔주시면 됩니다.

wyun13043@teamlog:~$ sudo cat /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of

일반 사용자가 루트 권한을 획득하였습니다.

Shutter 사용 및 기능

이런 스크린샷은 어떻게 찍죠?

우분투도 그렇고, 윈도우도 그렇고, 맥도 그렇고, 안드로이드도 그렇고 모든 OS가 기본적으로 화면 캡쳐 기능을 가지고 있습니다. 일반적인 데스크탑 OS라면 print screenshot 키를 누르면 현재 화면이 클립보드에 저장되고, 그림판에서 ctrl + v 를 이용하여 붙여넣기를 하면 캡쳐한 화면을 저장할 수 있습니다. 하지만 기본적인 화면 캡쳐 기능은 2가지 상태의 화면만 캡쳐할 수 있습니다.

  • print screenshot → 전체화면 캡쳐
  • alt + print screenshot → 현재창 화면 캡쳐

하지만 저같이 블로깅을 하거나 게시판에 포스팅을 할때 특수한 경우의 스크린샷이 필요할 때가 있습니다. 가령 “오른쪽 버튼을 눌러서 나오는 메뉴를 캡쳐하고 싶다.” 라거나, “화면의 일부분을 캡쳐하고 싶다.” 라거나, “웹페이지를 캡쳐하고 싶다.” 라거나, 심지어 “툴팁을 캡쳐하고 싶다.” 등 여러가지 경우가 있을 수 있습니다. 물론 전체화면을 캡쳐해서 적당히 그림판 같은 이미지 편집 프로그램을 이용하여 잘 짜집기를 하면 됩니다. 하지만 캡쳐할 사진이 여러장일 경우 굉장히 귀찮은일 입니다. 이 귀찮니즘을 해결하기 위해 나온 프로그램이 바로 Shutter입니다.

Shutter 설치하기

Shutter Logo

Shutter는 우분투 소프트웨어 센터에 있습니다. 우분투 소프트웨어 센터에 들어가서 Shutter를 검색해서 설치하시면 됩니다.

Install Shtter

우분투 소프트웨어 센터에서 공식적으로 제공하는 버전말고 3가지의 다른 버전이 존재합니다. 프로그램이 좀 불안정 하더라도 최신 버전을 사용하고 싶으신 분은 ppa를 추가하여 베타버전을 사용해 보실 수 있습니다. 베타버전 설치 방법은 http://shutter-project.org/downloads/ 여기에 나와있습니다.

Shutter 화면 살펴보기

Shutter을 처음 실행시키면 다음과 같은 화면이 나옵니다. (Shutter 로는 Shutter가 촬영되지 않더라고요. 그래서 기본 화면 캡쳐 기능을 이용해야 했죠.)

Shutter 메인 화면Shutter를 처음 실행시켰을때 나오는 메인화면

각각의 버튼을 누르면 해당가능 기능의 화면 캡쳐를 하게 됩니다. Shutter에는 기본적으로 무려 7가지의 캡쳐 기능을 제공합니다.

  • Selection : 화면의 일부분을 선택하여 캡쳐합니다.
  • Desktop : 그냥 print screenshot을 눌렀을때 수행되는 캡쳐기능과 비슷하게 전체 화면을 캡쳐합니다.
  • Window : 창 화면을 캡쳐합니다.
  • Section : 프로그램의 일부분을 캡쳐합니다. 정확히 어떤 의미인지 아래에 적도록 하겠습니다.
  • Menu : 오른쪽 버튼을 눌렀을때 나오는 메뉴를 캡쳐합니다.
  • Tooltip : 툴팁을 캡쳐합니다.
  • Website : Url을 집어 넣으면 해당 Url의 웹페이지를 캡쳐합니다. gnome-web-photo를 따로 설치하여야 합니다.

또 캡쳐 버튼 오른쪽에는 Edit 버튼이 있습니다. Edit 버튼을 누르면 캡쳐한 사진을 편집할 수 있습니다. 간단한 이미지 편집 툴 이지만 스크린샷을 편집하는데 최적화 되어 있는 편집 툴이기 때문에 의외로 활용도가 높습니다.

중앙에는 Session이 있습니다. 스크린샷을 캡쳐하면 Session에 캡쳐한 스크린샷이 추가 됩니다. 이 기능을 이용하면 캡쳐한 스크린샷들을 효율적으로 관리할 수 있습니다.

Section 캡쳐

Section 캡쳐는 프로그램의 일부분만 캡쳐하는 프로그램입니다. 그런데 GTK로 제작된 프로그램에만 적용되는것 같고, 그나마 GTK 프로그램 에서도 원하는 부분만 딱 잡아서 캡쳐하기는 어렵습니다. 그래도 특수한 경우에는 굉장히 유용히 사용될 수 있습니다.

Section 캡쳐를 실행하면 창을 고를 수 있게 됩니다. 창을 하나 고르면 해당 프로그램 안에서 특정 부분을 선택할 수 있습니다. 여기서 선택은 영역 지정이 아니고 프로그램의 특정 요소를 선택하는 겁니다. 아래가 Section 캡쳐를 하는 화면입니다.

Section 캡쳐 화면Section 캡쳐 화면

리듬박스 프로그램을 선택한 이후에 플레이리스트 부분에 커서를 갖다 댄 부분 입니다. Shutter가 알아서 프로그램을 분석해서 어떤 파트들로 이루어져 있는지 알아낸 다음에 해당 부분에 커서를 갖다 대면 위에처럼 해당 부분이 선택됩니다. 이렇게 프로그램의 특정 부분만을 선택할 수 있습니다. 저는 이 기능을 웹 브라우저에서 현재 보이는 화면을 캡쳐할때 자주 사용합니다. (지금 까지 블로깅 할때 웹 브라우저 화면은 거의 이 기능을 이용하여 캡쳐했습니다.) 아래와 같이 말입니다.

단축키 지정

스크린샷을 캡쳐할때 일일히 Shutter를 실행시키고 버튼을 눌러서 캡쳐할 순 없겠지요? Shutter에서는 물론 단축키 기능을 지원해서 언제나 원할때 스크린샷을 캡쳐할 수 있습니다. Shutter에서 Preferences에 들어가면 Keyboard가 있습니다. 여기서 키보드 단축키를 설정할 수 있습니다.

하지만 슬프게도 우분투에서 이 단축키 설정이 제대로 작동하지 않습니다. 그래서 다른 방법을 사용해야 합니다.  먼저 시스템 설정 화면을 열어줍니다. 시스템 설정에서 키보드를 선택합니다. 그리고 탭에서 단축키 부분을 선택해 줍니다. 그 이후 왼쪽에 Custom Shortcuts를 선택해 줍니다. 그러고 아래에 + 버튼을 클릭해서 새로운 단축키를 지정해 줍니다. 이름을 이해할 수 있는 이름을 적당히 적으시고 command 부분에는 아래중 하나를 선택해서 입력해 주시면 됩니다.

  • shutter -f : 전체화면 캡쳐
  • shutter -s : 선택화면 캡쳐 (화면의 일부분 캡쳐)
  • shutter -w : 창을 하나 선택해서 캡쳐
  • shutter  -a : 현재창 캡쳐
  • shutter –section : section 캡쳐
  • shutter -m : 메뉴 캡쳐
  • shutter -t : 툴팁 캡쳐

시스템 설정 화면시스템 설정 화면

키보드 설정 화면키보드 설정 화면

단축키 설정 화면단축키 설정 화면

단축키 설정단축키를 설정해 줍니다

웹사이트 캡쳐

웹사이트 캡쳐는 조금 독특한 기능입니다. 다른 캡쳐들은 모두 현재 보이는 창 화면을 캡쳐 하는데 비해 웹사이트 캡쳐는 url를 이용하여 shutter가 해당 웹사이트에 접속하여 알아서 웹사이트의 화면을 캡쳐하는 기능입니다. 이 기능은 shutter에 기본적으로 들어있지 않습니다. (때문에 여러분의 shutter에서 website 캡쳐 버튼을 비활성화 되어 있을 것입니다.) 또 다른 프로그램을 설치하여야 실행할 수 있습니다. Gnone-Web-Photo 라는 프로그램을 설치하여야 합니다.

Install Gnome Web Photo

Gnome Web Photo를 설치하고 나면 여러분의 Shutter의 웹사이트 캡쳐 버튼이 활성화 될 것입니다. 지구모양에 마우스 커서가 있는 웹사이트 캡쳐 버튼을 누르면 URL을 입력하는 창이 나옵니다. 해당 창에서 URL를 입력하시면 해당 URL의 웹사이트가 캡쳐됩니다.

웹사이트 캡쳐웹사이트 캡쳐화면

이미지 편집

Shutter는 기본적인 이미지 편집 기능을 내장하고 있습니다. 선, 화살표, 네모, 동그라미 등을 그릴 수 있고 텍스트를 집어 넣을 수 있습니다. 그리고 아이디나 비밀번호같은 스크린샷에서 보여서 안될 부분을 제거하기 위한 기능으로 노이즈 툴과 모자이크 툴을 제공하고 있습니다. 스크린샷을 위한 핵심 기능들만 제공하고 있는 굉장히 간단한 툴입니다. 스크린샷을 찍고 바로 편집을 할 수 있어서 굉장히 유용한 기능입니다.

이미지 편집Shutter의 이미지 편집 기능

마치면서

Shutter는 그 동안 블로깅을 하면서 굉장히 애용했던 프로그램입니다. 그만큼 사랑스럽고, 개발자 분에게 무한한 존의와 감사를 표하고 싶습니다. 윈도우에서 수많은 화면 캡쳐 프로그램을 써봤지만 Shutter처럼 사용하기 편리하면서 기능도 강력한 프로그램을 본적이 없는 것 같습니다. (물론 윈도우에도 있으나 제가 모르는 것일 수도 있겠죠.) 저 처럼 블로깅을 하시는 분에게 스크린샷을 찍을때는 shutter를 사용할 것을 강력하게 추천드립니다. 강압적으로라도 추천하고 싶을 정도로 잘만들어진 프로그램입니다.

 

 

출처 – http://edoli.tistory.com/101 (애돌이님 블로그)

주분투 루트 계정 로그인 및 네트워크 에러 해결

xubuntu 14.04 기준..

1. root 계정 생성

-> sudo passwd root

입력 후 패스워드 지정..

2. xubuntu 14.04 기준 이전 버전의 배포판과는 다르게 lightdm.conf 파일이 생성이 안되어있는 듯..

/etc/lightdm 에서 lightdm.conf 파일을 생성해야함..

-> vi /etc/lightdm/lightdm.conf

vi에디터로 아래의 내용 입력

[SeatDefaults]

greeter-show-manual-login=true

allow-guest=false

autologin-user=root

하고 재부팅하면 이후에는 로그인 할때 계정 입력하는 부분에서 기타.. 로 ID/PW를 둘다 입력가능하며

여기서 root와 패스워드 치고 루트 로그인 가능

그리고 게스트 로그인 제거와

부팅시 루트 계정으로 자동으로 로그인되게…

3. 기본적으로 root 계정은 사운드가 활성화 되어 있지 않음

xubuntu 14.04 기준으로

설정 – 세션 및 시동 – 프로그램 자동 시작 에서

추가 버튼을 눌러

이름, 설명을 원하는대로 입력하고

예) 이름: Pulse Audio, 설명: Start PulseAudio

명령 우측의 폴더 버튼을 누르거나 직접 /usr/bin/pulseaudio 를 입력한 후

확인을 누르고 재부팅하면 root 계정에서도 사운드가 활성화 된다.

4. network service discovory disable 알림창 제거

vi /etc/default/avahi-daemon

AVAHI_DAEMON_DETECT_LOCAL 1 -> 0으로 수정

 

CentOS 네트워크 관련 명령어

▒ Doly의 CentOS7 강좌19 6. CentOS 네트워크 5-관련 명령어
#################################################
    작성자 : 정우영
    작성일 : 2014.10.07
    대상 OS : CentOS7 x86_64
    완성될 서적 : Doly의 센트OS(CentOS)7 구축 관리 실무 (2015년 3월)
 본 강좌를 기반으로 서적을 집필합니다. 연재강좌가 마무리되고 몇달 후면 서적이 나오겠죠? CentOS7은 서적도 없지만 강좌도 많이 부족하네요. 리눅스 서버를 10년 넘게 구축하고 관리하고 컨설팅하면서 꼭 필요한 부분과 알아야 할 부분들을 꼼꼼히 체크하면서 강좌를 써보려합니다. 강좌중 오탈자가 있거나 설명이 부족하고 잘못된 경우 doly골뱅이superuser.co.kr으로 메일한통 부탁드립니다. 강좌가 수정되면 더 많은 분들께 도움이 될것이라 생각하고 강좌를 기반으로 집필될 서적또한 완성도가 높아지지 않을까 생각합니다.
#################################################
6. CentOS 네트워크
6.3. 관련 명령어
여기에서는 네트워크의 상황을 체크하고 네트워크 설정을 변경하거나 새로 설정하는 경우에 사용되는 여러 명령어들에 대해서 알아보겠다. 네트워크를 설정하는 방법은 사람마다 다양하고 관리 명령어에서 제공하는 옵션도 상당히 방대하다. 모든 내용들을 여기서 다루기는 무리가 있으므로 추가적인 사항들은 매뉴얼 페이지(man page)나 명령어를 자세히 다룬 문서나 서적을 참고하는 것이 좋을 것이다.
6.3.1. ip : 통합 네트워크 설정 프로그램
커널 2.4이후 리눅스 고급 네트워킹 기능을 사용하기 위한 유틸리티로 ip를 많이 사용한다. ip는 iproute 패키지로 기본 제공된다. 많은 기능들이 ip 유틸리티로 통합되었다. 그 중 자주 사용하는 기능을 알아보자.
 네트워크 연결 확인 : ip link
~] # ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:7e:29:b3 brd ff:ff:ff:ff:ff:ff
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:c4:48:a4 brd ff:ff:ff:ff:ff:ff
위와 같이 ip link 라고 입력하면 네트워크 연결상태를 알려준다. 여기서 중요한 것은 state UP이다. 네트워크에 연결되지 않았다면 state DOWN으로 나타난다. 필자의 경우 10개의 포트(4Port 이더넷 카드 2장, 내장 이더넷 포트2개)에서 연결된 장치명을 사용하기 위해 ip link 명령을 이용하여 쉽게 찾을 수 있었다. 여러 링크관련 고급 설정을 할 수 있는데 이 방법은 멘페이지(man ip-link)에서 확인할 수 있다.
네트워크 IP 확인 : ip addr
~] # ip -4 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.0.222/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.0.8/24 brd 192.168.0.255 scope global dynamic eth1
       valid_lft 64160sec preferred_lft 64160sec
위 결과는 네트워크 인터페이스에 할당된 IP 주소와 서브넷마스크, 브로드케스트 IP, 연결상태를 한눈으로 볼수 있는 결과이다. “-4”옵션을 사용한 것은 IPv4에 해당되는 내용만 보기 위함이다. ifconfig 명령어로 확인 가능한 정보이지만 좀더 깔끔하게 보여준다. ip 고급설정을 위해 사용할 수 있는데 그 방법은 멘페이지(man ip-address)를 확인하길 바란다.
라우팅 테이블 확인 : ip route
~] # ip route
default via 192.168.0.1 dev eth0  proto static  metric 1024
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.222
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.8
위 결과는 라우팅 테이블을 확인한 것이다. 기본 게이트웨이(192.168.0.1) 정보를 확인할 수 있고 기타 라우팅 부분도 확인할 수 있다. 이 결과는 route 및 netstat –r 명령어로 확인할 수 있다. 라우팅 설정을 위해 사용할 수 있는데 그 방법은 멘페이지(man ip-route)를 확인하길 바란다.
네트워크 모니터링 : ip monitor
~] # ip monitor
192.168.0.223 dev br0 lladdr 52:54:00:9b:e8:c8 REACHABLE
192.168.0.222 dev br0 lladdr 52:54:00:7e:29:b3 STALE
192.168.0.223 dev br0 lladdr 52:54:00:9b:e8:c8 STALE
delete 0.0.0.0 dev lo lladdr 00:00:00:00:00:00 NOARP
ip유틸리티의 모니터(monitor) 기능은 디바이스, 주소, 라우팅등을 모니터링 할 수 있다. 관련 내용은 멘페이지(man ip-monitor)를 확인하길 바란다.
TCP 통계 : ip tcp_metrics
~] # ip tcp_metrics
192.26.91.193 age 50565.149sec rtt 58875us rttvar 58750us cwnd 10
::1 age 5946.078sec rtt 8125us rttvar 10000us cwnd 10
93.113.36.66 age 150193.112sec rtt 337750us rttvar 310250us cwnd 10
66.109.26.212 age 150193.419sec rtt 218875us rttvar 206000us cwnd 10
124.202.129.6 age 150193.957sec rtt 60875us rttvar 56250us cwnd 10
143.248.234.110 age 50565.235sec rtt 22375us rttvar 17250us cwnd 10
122.152.116.24 age 50565.038sec rtt 120125us rttvar 84750us cwnd 10
150.65.7.130 age 50565.150sec rtt 62125us rttvar 62000us cwnd 10
202.76.233.2 age 150193.631sec rtt 103750us rttvar 96500us cwnd 10
115.156.219.152 age 150193.363sec rtt 357375us rttvar 320250us cwnd 10
204.15.73.243 age 140563.884sec rtt 266500us rttvar 206000us cwnd 10
67.212.81.83 age 150193.522sec rtt 212750us rttvar 199750us cwnd 10
203.248.240.140 age 226081.704sec rtt 11750us rttvar 11250us cwnd 10
121.125.79.185 age 50565.237sec rtt 19500us rttvar 14500us cwnd 10
203.178.137.175 age 50565.005sec rtt 103875us rttvar 76000us cwnd 10
127.0.0.1 age 151377.088sec rtt 1125us rttvar 1000us cwnd 10
192.168.0.200 age 330762.612sec rtt 1875us rttvar 1750us cwnd 10
202.141.176.110 age 318698.276sec rtt 229625us rttvar 229500us cwnd 10
72.232.223.58 age 50563.169sec rtt 207375us rttvar 207250us cwnd 10
192.168.0.230 age 5642.101sec rtt 11375us rttvar 12500us cwnd 10
88.208.217.170 age 150193.334sec rtt 292750us rttvar 274750us cwnd 10
91.210.105.98 age 150193.351sec rtt 385625us rttvar 331000us cwnd 10
114.112.41.90 age 318698.663sec rtt 69125us rttvar 69000us cwnd 10
192.168.0.62 age 135085.976sec rtt 79375us rttvar 79250us cwnd 10
ip tcp_metrics는 IPv4 및 IPv6 목적지에 대한 TCP의 정보를 보관하는 커널의 항목을 조작하는데 사용된다. 이 항목은 TCP 소켓이 목적지 정보를 공유하기 위해 생성되며 목적지 주소를 키로 캐시에 저장된다. 이 저장된 정보는 빠른 오픈기능을 위해 초기 라우팅에서 얻은 여러 정보(TIME-WAIT 재사용을 위한 최근 TSVAL(TimeStamp value)과 상태등)가 보관된다. 성능상의 이유로 캐시가 구성된 한계 이상으로 증가할 수 없으며 오래된 항목은 때때로 회수하고 새로운 목적지에 사용 사용되거나 재정의 된다. 커널은 이 항목을 제거하지 않으며 ip tcp_metrics flush를 이용하여 캐시를 비울 수 있다.
6.3.2. ifconfig : 네트워크 인터페이스 설정 및 확인
ifconfig는 현재 시스템에 장착되어 있는 네트워크 인터페이스를 설정하거나 확인하는 명령어이다. 서버가 통신을 하기 위해서는 네트워크 인터페이스(NIC, 흔히 랜카드)가 있어야 하는데, 이러한 네트워크 인터페이스의 네트워크 정보를 설정, 변경 및 확인하는 명령어가 ifconfig이다.
ifconfig로 확인 가능한 네트워크 인터페이스의 내용은 다음과 같다.
∙MAC 주소
∙eth0에 할당된 IP 주소
∙브로드케스트(BroadCast)
∙서브넷마스크(Subnet Mask)
∙MTU(Maximum Transfer Unit)
∙RX packets(부팅 후 현재까지 받은 패킷수)
∙TX packets(부팅 후 현재까지 보내진 패킷수)
∙Collisions
∙Interrupt 주소
∙현재 UP(사용가능) 되어 있는지 여부
6.3.3. netstat : 인터페이스 통계 및 기타 정보 확인
netstat는 현재 연결된 네트워크 연결과 라우팅 테이블, 인터페이스에 대한 통계, 마스커레이딩 연결, 멀티캐스팅 정보 등을 보여준다. 즉, netstat 명령으로 어떤 호스트(또는 서버)들과 어떤 서비스로 연결되어 있는지와 그 연결 상태는 어떠한가에 대한 정보들을 알 수 있다.
① 어떤 클라이언트와 연결되었는가?
② 어떤 서비스(www, ftp, mysql, ssh 등)로 연결되었는가?
③ 어떤 포트(port) 번호로 연결되어 있는가?(②의 서비스에 대한 포트 번호)
④ 연결상태(wait, listen, connect 등)는 어떠한가?
⑤ 네트워크 연결상태가 어떻게 되어 있는가?
⑥ 기본 게이트웨이의 설정이 제대로 되어 있는가?
⑦ route에서처럼 라우팅 경로는 어떠한가?
6.3.4. route : 라우팅 테이블 확인 및 설정
route는 라우팅 경로(다른 말로 “라우팅 테이블”)를 보거나 변경할 수 있도록 해주는 명령어이다. 주로 이더넷(Ethernet) 카드를 설정할 때 패킷들이 어떠한 경로로 외부로 나가야 하는지 알려주는 역할을 한다. 인터넷은 네트워크들이 게이트웨이를 통해 이리저리 연결되어 있는 커다랗고 복잡한 네트워크이다. 이러한 네트워크에서 지표가 되는 것은 오직 도메인 네임과 IP 주소 밖에는 없다. 따라서 호스트에 설정된 라우팅 테이블은 패킷들이 자유로이 이동할 수 있도록 한다.
6.3.5. traceroute : 라우팅 경로 확인
어느 날 서버에 접속한 상태에서 다른 서버로 ssh 접속이 안 되는 것을 발견했다고 가정해 보자. 즉시 옆에 있는 166.104.50.152로 ping을 보내 보았으나 이것은 아무 문제가 없었다. 내부 네트워크가 잘 작동 중인데 외부로 연결이 안 된다면 외부로 연결된 어느 게이트웨이 중 하나가 잘못 됐을 가능성이 있다. 이를 확인해 보는 방법은 traceroute를 이용하는 것이다.
인터넷은 네트워크 하드웨어들이 게이트웨이를 통해서 서로 연결된 거대하고 복잡한 집합체이다. traceroute는 사용자가 원하는 호스트까지 패킷이 어떠한 경로로 전달이 되는지를 작은 ttl(time-to-live) 값과 돌아오는 ‘ICMP TIME_EXCEEDED’ 응답을 통해 사용자에게 알려준다.
6.3.6. tracepath : 경로 확인
tracepath는 패스를 가지고 있는 MTU를 통해서 목적 시스템까지의 경로를 알아내는 프로그램이다. 이 프로그램은 UDP 포트나 불규칙적으로(random) 몇몇의 다른 포트를 사용한다.
6.3.7. ping : 원격 호스트 응답 테스트
컴퓨터의 네트워크가 정상적으로 동작중인지 확인해 볼 때 사용하는 도구이다. ping은 특정 호스트로 ICMP(Internet Control Message Protocol) 에코 메시지를 사용해서 원격 호스트가 다시 로컬 호스트로 응답하도록 한다.
6.3.8. arp : ARP 테이블 관리
arp는 “Address Resolution Protocol”의 약자로서 동일한 네트워크 내에 존재하는 호스트들의 IP 주소와 ethernet 주소(MAC 주소)를 확인하는 명령어이다. 즉, 특정 네트워크 내에 어떤 호스트들이 존재하는지를 확인할 수 있는 것이 바로 arp 명령어이다. arp는 이를 위해 리눅스의 /proc/net/arp에 기록된 ARP 관련 정보를 참조한다.
6.3.9. nslookup : 도메인 네임 서버 질의
nslookup은 인터넷 도메인 네임 서버에 사용자가 직접 도메인 이름을 질의할 수 있도록 해주는 프로그램이다. 이 프로그램을 통해 누구나 네임서버에 직접 질의하여 도메인 네임 서버가 가지고 있는 정보를 검색할 수 있는 것이다. 이를 통해 사용자는 도메인 네임 서버가 올바르게 설정되고 동작하고 있는지를 확인할 수 있다.
6.3.10. dig : 도메인 네임 서버 질의
dig(Domain Information Groper)는 지정한 DNS 서버의 설정 내용과 특정 도메인의 네임서버 설정 내용을 확인하는 명령이다. 즉, nslookup 명령과 거의 같은 역할을 한다. nslookup 명령과 host 명령과 마찬가지로 /etc/resolv.conf 파일에 정의되어 있는 네임서버를 기본 네임서버로 사용한다.
6.3.11. host : 도메인 네임 서버 질의
host는 도메인 네임 서버에서 도메인의 설정 정보를 찾기 위한 간단한 유틸리티이다. 이것은 보통 도메인 이름들을 IP 주소로 바꿔서 정보를 알려 주기 위해 사용된다. host 명령은 nslookup과 dig와 마찬가지로 /etc/resolv.conf 에 설정된 도메인 네임 서버를 기본 네임서버로 인식한다.
 이상으로 19번째 강좌를 마무리 하겠습니다. CentOS 7부터 최소 설치하게 되면 ifconfig 명령어가 없네요. 대신 ip 명령어로 ip확인등을 해야 하니 어색하죠? 강좌에서 조금더 예제들은 생략하였습니다.  2014년 10월 6일(화) 도리(Doly)였습니다.^^
#################################################
* 본 강좌는 언제든 갱신될 수 있으며, 원글은 www.linux.co.kr 강좌>리눅스>Doly의 연재강좌 에서 수정됩니다.
* 본 강좌의 일부 또는 전체를 인용하실 경우, 반드시 출처를 밝혀 주시기 바랍니다.
* 수정이력 :
 2014.10.07(화): 최초작성

CentOS 네트워크 본딩(bonding)

▒ Doly의 CentOS7 강좌18 6. CentOS 네트워크 4-네트워크 본딩(bonding)
#################################################
    작성자 : 정우영
    작성일 : 2014.09.17
    대상 OS : CentOS7 x86_64
    완성될 서적 : Doly의 센트OS(CentOS)7 구축 관리 실무 (2015년 3월)
 본 강좌를 기반으로 서적을 집필합니다. 연재강좌가 마무리되고 몇달 후면 서적이 나오겠죠? CentOS7은 서적도 없지만 강좌도 많이 부족하네요. 리눅스 서버를 10년 넘게 구축하고 관리하고 컨설팅하면서 꼭 필요한 부분과 알아야 할 부분들을 꼼꼼히 체크하면서 강좌를 써보려합니다. 강좌중 오탈자가 있거나 설명이 부족하고 잘못된 경우 doly골뱅이superuser.co.kr으로 메일한통 부탁드립니다. 강좌가 수정되면 더 많은 분들께 도움이 될것이라 생각하고 강좌를 기반으로 집필될 서적또한 완성도가 높아지지 않을까 생각합니다.
#################################################
6. CentOS 네트워크
6.2. 네트워크 설정
6.2.3 네트워크 bonding 설정
리눅스는 여러 인터페이스를 묶어 하나의 본딩(bonding)된 채널(channel)으로 만들 수 있다. 이는 1G 네트워크 인터페이스 4개를 묶어 4G의 대역폭을 확보할 수 있고, 묶여진 네트워크 인터페이스, 케이블, 스위치등의 장애에 대비할 수 있다. 네트워크 본딩은 이더넷 본딩(Ethernet bonding), 포트 트렁킹(port trunking), 채널 티밍(channel teaming), NIC 티밍(teaming), 링크 통합(link aggregation)등의 용어로 다양한 네트워크 장비 및 운영체제에서 제공한다. CentOS 7부터는 네트워크 티밍(Network teaming)이라는 기존의 본딩과 다른 기능이 추가 되었다. 티밍에서는 여러 기능을 사용자가 동적으로 설정할 수 있고 오버헤더를 조금더 줄였다. 본 서적에서는 본딩만을 다루도록 한다. 티밍의 경우 CentOS 7에서 처음 소개되는 것인만큼 안정화를 기대하기 힘들고 범용적인 기술이 아니기 때문에 학습하여 설정하여도 다른 사람이 컨트롤하기에는 어려움이 있을 것이다.
본딩의 이점은 앞에서 설명한 2가지이다. 실무에서는 대역폭을 확장하기 위해서이기 보다는 장애 대비용으로 많이 사용된다. 다음 구성을 보자.
Switch (Active)  Switch (Standby)
                  Server
위 네트워크 구성을 보자. 현업에서 사용하는 네트워크 구성은 아주 복잡하지만 그중에서 네트워크 스위치 이중화에 대한 그림을 그렸다. 네트워크 스위치, 회선, 포트등의 장애를 대비하여 위와 같이 이중화 시키게 된다. 위 환경에서 CentOS에서는 본딩 설정을 하게되고 본딩의 여러 모드 중에서 active-backup(mode :1)을 사용하여 본딩을 구성한다. 만약 Active Switch와 연결된 네트워크 인터페이스가 eth0이고, Standby Switch와 연결된 네트워크 인터페이스가 eth1이라면 eth0을 primary로 지정해야 원활하게 통신이 될것이다. 이 부분은 설정하면서 다루게 될것이다.
1. 본딩 모드(bonding mode)
본딩 모드는 본딩으로 묶요질 여러 slave 인터페이스들을 효율적으로 묶기위한 여러 가지 방법들이라고 보면 된다. 여러 상황에 따라 효율적인 방법을 선택하겠지만 일반적으로 Round-robin 모드와 Active backup 모드를 사용하며 네트워크 스위치가 802.3ad를 제공하고 스위치를 컨트롤 가능한 경우 802.3ad를 사용한다.

Mode

Mode(문자)

방법

특징

0

balance-rr

Round-robin

기본값

1

active-backup

Active backup

빈번히 사용됨

2

balance-xor

XOR

해시 방식

3

broadcast

Broadcast

4

802.3ad

802.3ad

스위치 802.3ad 요구

5

balance-tlb

Adaptive transmit load balancing

6

balance-alb

Adaptive load balancing

<자세한 설명은 좀더 조사해서 서적에서 다루도록 하겠다.>
2. Link 모니터링 방법
본딩은 2개 이상의 인터페이스를 묶기 때문에 항상 묶여진 slave 인터페이스를 감시해야 한다. slave인터페이스를 감시하는 방법은 2가지가 있다. 기본값은 MII(Media Independent Interface)이며 기본값을 쓰기를 권장한다.
<자세한 설명은 좀더 조사해서 서적에서 다루도록 하겠다.>
6.2.3.1. GUI환경에서 본딩 설정
이미 설정된 네트워크 디바이스 설정 삭제
먼저 본딩에서 슬레이브(slave)로 사용하여 묶을 네트워크 디바이스가 다른 용도로 사용되거나 통신을 위해 설정되었다면 본딩 구성후에 문제가 될 수 있다. 다음과 같이 nmcli 명령으로 확인하고 연결된 것이 있는지 확인한다.
7~] #  nmcli connection
이름   UUID                                  유형            장치
eth1   5fd5da3c-bef7-417c-a184-48f10f2792d2  802-3-ethernet  eth1
eth0   8bac19dd-a177-49e2-9f30-38ec13c5d624  802-3-ethernet  eth0
만약 위와 같이 eth0, eth1에 대한 설정이 있다면, 다음과 같이 삭제한다.
7~] #  nmcli connection delete eth0
7~] #  nmcli connection delete eth1
프로그램 > 시스템도구 > 설정 (네트워크 선택)
또는 콘솔창에서 control-center를 입력한다.
~] # control-center
“네트워크“를 선택한다.
또는 바탕화면우측 상단에 네트워크 아이콘을 선택하고 마우스 오른쪽 버튼을 클릭하여 메뉴가 나타나면 아래 그림과 같이 “네트워크 설정”을 클릭한다.
네트워크 설정창이 나타나면 우측 하단에 “+”모양을 클릭한다.
“본딩“을 선택한다.
위 그림에서 연결 이름을 bond0으로 한다. 고전적으로 본딩을 하게되면 bond0을 기본으로 하였다. 만약 2개의 본딩을 구성한다면 두 번째 이름은 bond1이 된다. 연결 이름은 자유롭게 입력할 수 있으니 내부, 외부 나눠져있다면 bond0-내부, bond1-외부 등의 이름을 사용하는 것도 좋은 방법이다. 연결 이름을 입력하고 추가(A) 버튼을 클릭하여 본딩에 사용될 네트워크 인터페이스를 추가한다.
연결 종류를 선택한다. 이더넷 또는 인피니밴드를 선택해야 한다. GUI 환경에서는 여러 항목이 나열되나 현재 본딩은 이더넷과 인피니밴드만 지원한다. 여기서는 이더넷을 선택한다.
이더넷 추가 화면이 위와 같이 나타나며, 연결이름을 eth0 (이더넷 디바이스 장치명)으로 한다. 물론 이 또한 다른 이름으로 할 수 있으나 설정후에는 /etc/sysconfig/network-scripts/ifcfg-이름 형태로 저장되기 때문에 혼란스러울 수 있다. 장치명과 동일한 이름으로 연결 이름을 입력한다. 다음으로 장치의 MAC주소는 우측 “﹀” 표시를 눌러 eth0을 선택한다.
다음으로 “일반”탭으로 하거 다음 그림과 같이 “사용 가능하면 자동으로 이 네트워크에 연결(A)”을 선택한다. 만약 선택하지 않으면 본딩은 활성화 되나 이더넷이 활성화 되지 않아 통신이 안되는 경우가 발생된다.
위와 같이 eth0 장치에 대해 이더넷 및 일반 탭에서 설정을 마무리 한다.
동일한 방법으로 eth1에 대해 이더넷 설정을 한다.
연결 이름(N) : eth1
장치 MAC 주소(D) : eth1 선택
일반 탭에서 :  사용 가능하면 자동으로 이 네트워크에 연결(A)
설정을 완료하였다면 다음과 같이 본딩 연결에 다음 그림과 같이 2개의 장치가 추가 되어 있을 것이다.
다음으로 모드(Mode)를 선택한다. 기본은 라운드 로빈(Round-robin)인데 오른쪽 그림과 같이 여러 모드중에 액티브 백업(Active backup)으로 설정한다. 액티브 백업으로 선택하면 위 그림처럼 기본(P) 인터페이스를 입력하는 창이 나타나는데 여기서 기본으로 지정할 즉 Active 스위치에 연결될 디바이스 이름(eth0, eth1등)을 입력한다. 연결 감시는 MII(Media Independent Interface)로 두고 감시 주기는 네트워크 상황에 따라 다르지만 100 또는 200으로 설정한다. 나머지는 기본으로 둔다.
다음으로 일반 탭으로 가서
   사용 가능하면 자동으로 이 네트워크에 연결(A)
을 설정한다.
다음으로 “IPv4 설정” 탭으로 가서 방식을 “수동”으로 변경하고 IP주소, 넷마스크, 게이트웨이 정보를 입력하고 DNS 서버 정보까지 입력한다. 본딩은 대부분 고정 IP를 부여한다.
본딩 설정이 완료되면 위 그림에서 처럼 “본딩(bond0)”가 추가 되고 우측에 보는 것과 같이 본딩된 슬레이브를 확인할 수 있다.
만약 본딩 장치에 할당된 IP를 변경한다는 등의 설정변경 후에는 바로 적용이 되지 않을 것이다. 꼭 다음과 같이 NetworkManager를 재시작 해야 한다.
7~] #  systemctl restart NetworkManager
만약 NetworkManager를 입력하기 어려우면 Ne까지만 입력하고 <TAB>키를 입력하면 자동완성이 된다.
6.2.3.2. TUI환경에서 본딩 설정
GUI환경을 사용할 수 없는 경우 콘솔 환경에서 nmtui를 이용하여 본딩 설정을 한다. 본딩 설정전에 앞에서 언급한 본딩 모드에 대해 숙지를 하고 진행하는 것이 좋을 것이다.
<TUI 환경에서 본딩 설정은 조금 더 연구하여 서적에서 다루도록 하겠다.>
6.2.3.3. 설정파일을 작성을 통한 본딩 설정
CentOS 6은 NetworkManager에서 본딩 및 브릿지 설정을 일부 지원하지만 완벽하지 않았다. 그래서 CentOS 6 이하 버전에서 본딩 설정을 하기 위해 설정파일을 작성하여 본딩 설정을 해야 한다.
CentOS 7버전에서는 아래에 소개되는 방법으로 본딩 설정을 하게되면 여러모로 문제가 될것이니 위에서 소개한 GUI, TUI 환경에서 설정방법을 꼭 이용해야 한다.
<설정파일을 통한 본딩 설정은 조금 더 연구하여 서적에서 다루도록 하겠다.>
6.2.3.4. 본딩 확인 및 모니터링
본딩 설정이 완료되면 새로운 장치가 추가될 것이다. 새로 추가된 장치는 다음 명령어를 통해 확인해 보자.
ifconfig 명령어를 통한 확인
~] # ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 192.168.0.222  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::5054:ff:fe7e:29b3  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:7e:29:b3  txqueuelen 0  (Ethernet)
        RX packets 4757  bytes 354728 (346.4 KiB)
        RX errors 0  dropped 2243  overruns 0  frame 0
        TX packets 295  bytes 32529 (31.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 52:54:00:7e:29:b3  txqueuelen 1000  (Ethernet)
        RX packets 2490  bytes 189020 (184.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 295  bytes 32529 (31.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 52:54:00:7e:29:b3  txqueuelen 1000  (Ethernet)
        RX packets 2267  bytes 165708 (161.8 KiB)
        RX errors 0  dropped 2243  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
위 내용에서와 같이 eth0와 eth1은 SLAVE를 확인할 수 있고, bond0 디바이스는 MASTER임을 확인할 수 있다. 아래와 같이 ip link 명령어의 결과 또한 비슷하다.
~] # ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:7e:29:b3 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:7e:29:b3 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT
    link/ether 52:54:00:7e:29:b3 brd ff:ff:ff:ff:ff:ff
본딩 모드 및 활성상태 모니터링
본딩 구성 후 설정된 모드와 활성화된 상태를 /proc 파일시스템에서 조회할 수 있다. 다음 결과를 유심히 보자.
~] # cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (primary_reselect always)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:7e:29:b3
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:c4:48:a4
Slave queue ID: 0
위 내용에서 다음 내용을 볼 수 있다.
Bonding Mode(본딩 모드) : fault-tolerance (active-backup)
Primary Slave(우선 선택되어야 할 Slave 인터페이스) : eth0
Currently Active Slave (현재 활성화된 Slave 인터페이스) : eth0
MII 모니터링 주기 : 100(0.1)
eth0 인터페이스에 연결이 끊어진 경우 결과를 확인해 보도록 하자.
~] # cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (primary_reselect always)
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 1
Permanent HW addr: 52:54:00:7e:29:b3
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 52:54:00:c4:48:a4
Slave queue ID: 0
현재 활성화된 Slave는 eth1이고 eth0은 다운(down)되었다는 것을 확인할 수 있다. 만약 앞에서 Primary(우선 선택되어야 할) Slave 인터페이스를 지정하지 않은 경우라면 eth0이 복구 되더라도 eth1이 활성화된 Slave가 된다. Primary(우선 선택되어야 할) Slave 인터페이스를 eth0으로 설정하면 eth0 인터페이스가 복구되면 활성화된 Slave는 eth0으로 재 설정된다.
 이상으로 18번째 강좌를 마무리 하겠습니다. CentOS 7부터는 네트워크매니저의 완성도가 높아졌습니다. 이 네트워크매너저를 이용하면 본딩을 쉽게 설정할수 있습니다. CentOS 7부터 티밍이라는 개념이 나왔지만, 아직은 본딩을 추천합니다. 강좌에서 조금더 연구가 필요한 부분은 제외하였습니다. 금주도 바뿌네요^^ 2014년 9월 23일(화) 도리(Doly)였습니다.^^
#################################################
* 본 강좌는 언제든 갱신될 수 있으며, 원글은 www.linux.co.kr 강좌>리눅스>Doly의 연재강좌 에서 수정됩니다.
* 본 강좌의 일부 또는 전체를 인용하실 경우, 반드시 출처를 밝혀 주시기 바랍니다.
* 수정이력 :
 2014.09.23(화): 최초작성

 

[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1844

ipTIME 호스트검색 TCP포트스캔의 사용 방법

호스트검색 TCP포트스캔의 사용 방법

호스트 검색 기능 중 하나로 제공되는 TCP포트스캔은 특정 IP주소를 갖는 PC에서 개방되어 있는 포트번호를 확인하여 알려줍니다. 이와 같은 TCP포트스캔 기능은 해당 PC에서 웹서버, 파일서버 등의 기능이 정상적으로 동작하고 있는지 확인하는 방법이 될 수 있으며, 네트워크 바이러스 등과 같은 외부 공격에 노출 정도를 확인하는 방법이 되기도 합니다.

[1] 호스트 검색 화면 접속

위의 그림과 같이 공유기의 메뉴 탐색기에서 [고급설정->특수기능->호스트검색]메뉴를 클릭하면 호스트 검색 화면이 표시됩니다.

[2] 호스트 검색 실행

TCP포트 스캔을 선택하고 상태를 확인하려는 PC의 IP 주소와 포트 범위를 입력한 뒤 시작 버튼을 클릭하면 화면 하단에 시험 결과가 표시됩니다. 위의 그림은 웹, Telnet, FTP 서버 등이 동작하는 리눅스 서버에 대한 포트 스캔결과입니다.

ipTIME 호스트검색 Ping Test의 사용 방법

호스트검색 Ping Test의 사용 방법

호스트 검색 기능 중 하나로 제공되는 Ping Test는 윈도우/리눅스등에서 제공하는 Ping 프로그램과 동일한 기능을 수행합니다. 윈도우의 명령 프롬프트 창에서 Ping + IP 주소와 같이 명령어를 입력하면 해당 IP 주소로 시험데이타를 전송하고 이를 전달 받은 PC는 내부 방화벽등이 설정되어 있지 않다면 응답을 하는 것으로 네트워크에서 자신의 존재를 알려줍니다.

ipTIME공유기에서 제공하는 Ping Test의 기능도 이와 동일한 기능을 수행하여 줍니다. 이 기능은 외부에서 원격 관리를 통하여 공유기에 접속한 경우 공유기 하단에 연결된 PC가 정상적으로 연결되어있는지를 확인할 수 있는 유용한 기능입니다.

[1] 호스트 검색 화면 접속

위의 그림과 같이 공유기의 메뉴 탐색기에서 [고급설정->특수기능->호스트검색]메뉴를 클릭하면 호스트 검색 화면이 표시됩니다.

[2] 호스트 검색 실행

Ping Test를 선택하고 상태를 확인하려는 PC의 IP 주소를 입력한 뒤 시작 버튼을 클릭하면 화면 하단에 Ping시험 결과가 표시됩니다. Ping 시험의 횟수와 Ping 시험을 통하여 전송되는 데이터 량을 증가시키면 해당 PC의 상태 또는 네트워크 연결에 문제점 유무를 확인할 수 있습니다.

일반적으로 Ping 시험을 위하여 데이터를 전송하는 방식은 ICMP인데 최근 바이러스 등의 문제로 윈도우 등의 방화벽을 이용하여 ICMP를 차단한 경우 ARP를 이용한 Ping 시험이 가능합니다.


위의 그림과 같이 Ping Test 방법을 ARP로 선택하면 방화벽이 설정되어 ICMP가 차단된 PC 경우에도 해당 PC의 네트워크 연결 상태를 확인할 수 있습니다. 단 ARP를 이용하는 경우 데이터 량을 증가 시키면서 동작을 확인하는 것은 불가능 합니다.

[참고1] ARP란?
ARP는 Address Resolution Protocol의 약자로 상대방의 IP주소를 이용하여 IP주소가 가지고 있는 PC의 MAC 주소를 알아오는 주소변환 프로토콜입니다. LAN에 연결된 PC들이 서로 통신을 하기 위해서는 상대방 랜카드의 하드웨어 주소(MAC 주소)를 알고 있어야 하는데, 통신할 송신지(A)에서는 상대방의 MAC 주소를 알지 못하므로, 통신할 수신지(B)의 MAC 주소를 확인하기 위해, 브로드캐스트라는 통신 방법을 사용하여 상대방의 IP주소(B의 IP주소)로 ARP Request를 보내면, 그 IP주소를 가지고 있는 PC(B)가 ARP Response(응답)를 생성하여 ARP Request를 보낸 PC(A)와 유니캐스트라는 통신을 통해 송신지(A)에게 수신지(B)가 자신의 MAC 주소를 알려주는 과정입니다.

[참고2] ARP 진행과정

(1) A가 자신의 컴퓨터 내부(라우팅 테이블)에 B의 MAC 주소가 있는지 확인
(2) A가 B의 IP주소를 가지고 LAN에게 물어봄
▷ 브로드 캐스트 (1:多)
▷ 상대방의 MAC 주소는 ‘FF:FF:FF:FF:FF:FF’
▷ ARP Request
(3) B의 MAC 주소를 알고있는 B PC가 A에게 응답
▷ 유니캐스트 (1:1)
▷ ARP Response 생성

증상 :
1. 네트워크가 연결 된 후 10~20초 후에 연결이 끊김
2. 네트워크를 죽이고 다시 살리면 살아남. (그리고 다시 10~20초 후에 죽음)

처음에는 드라이버문제이거나 네트워크 설정에 문제가 있지 않을까하고 설정을 이것저것 변경해보았으나 특이한 설정도 문제 될것도 없었습니다. 네트워크를 재시작하면 잠시나마 동작이 된다는게 정말 난해한 부분이었습니다. (차라리 아예 안되면 문제가 더 명확했을텐데) ping을 날려봐도 네트워크가 살아있을땐 잘 나가더니 잠시 후 네트워크가 끊기며 먹통이 됩니다.  (난감)

하지만 오랜 삽질 끝에 결정적인 단서를 찾았습니다. 랜카드의 MAC Address가 할당된 IP와의 미스매칭이 발생하는 점이었습니다. 어디선가 IP할당에 영향을 주고 있다는 점인데 이 서버의 네트워크 환경을 의심해보기 시작했습니다.

범인은 라우터였습니다. 라우터를 만질 권한이 없었기 때문에 어찌됐든 이 서버내에서 해결을 봐야겠습니다. 그리고 다시 많은 삽질 끝에 단 한 줄의 명령으로 해결되었습니다.

arping IP 주소

 

arping이라는 명령어는 통상적으로 네트워크 연결을 확인하는 명령이라고 소개되어 있습니다. 하지만 이 명령이 네트워크의 정보를 갱신하기도 했기에 계속 적으로 네트워크 정보가 유실되지 않도록 잡아주는 역할을 하게 됩니다. 하지만 이는 임시 방편이기에 근본적으로 해결해야겠지요.

센토스 라우터 변경후 고정 IP 사용시 문제해결

수동으로 파일을 수정해 줌.

일단 파일은 /etc/sysconfig/network-scripts/ 에 존재함. 그리고 파일이름이 ifcfg-enp0s2 와 같은 파일이름으로 존재함.

 

다음 부분을 수정

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp2s0"
UUID="9e77a016-1dbb-431e-8b4b-8ad1e00ae5d4"
DEVICE="enp2s0"
ONBOOT="yes"

 

이 부분중 아래의 부분을

BOOTPROTO="dhcp"
BOOTPROTO="static"

으로 변경 한다. 그리고 고정 IP 대역을 새로 추가함

# IP Address
IPADDR = "192.168.0.6"
# Subnet Mask
NETMASK = "255.255.255.0"
# Default Gateway
GATEWAY = "192.168.0.1"
# DNS Server
DNS1 = "210.220.163.82"
DNS2 = "219.250.36.130"

위에서 IPADDR은 고정으로 지정한 IP주소, 그리고 서브넷마스크와 게이트웨이, DNS 서버등은 공유기에 있는 설정을 그대로 상속.

 but, 여전히 실패함.

멀티부팅 센토스7 윈도우8

WindowsXP,Windows7,Windows8,Windows8.1설치후 리눅스 설치후 윈도우 계열이 부팅로더에 없어요…

또는 윈도우 계열이 부팅이 안되는현상 해결하는방법

저는 윈도우8을깔고나서 CentOS7 을 깔았는데요 부트로더가 CentOS7으로 바뀌면서 윈도우8은 부팅이 안되게 되었죠.

하지만 CentOS에서 보면 정상적으로 윈도우는 설치가되어있고요 부팅할때 선택되는메뉴만 없는것입니다.

CentOS에서 # vi /boot/grub/grub.cfg or # vi /boot/grub2/grub.cfg

하면 영어로 쫙 써있습니다. 이것은 Grub(부트로더) 의 옵션들과 메뉴들을 나열하는것인데요.

윈도우8을 부팅시킬려고 저는 윈도우8을 추가를 시켰습니다. 

이렇게하면 부팅이 되더라고요… 저도 처음에 너무 헤메고 찾고 하다보니깐 너무 정보가 없는상태이더라고요 한국에는….

리눅스라는자체가 한국에는 널리 퍼져있는것도아니고요…

위의 명령어를 치신다음에 

 menuentry “Windows8″{
 insmod ntfs
 insmod chain
 insmod drivemap
 set root=(윈도우파일이 설치되있는 곳)
 chainloader +1

menuentry “Windows8” 이것은 메뉴를 선택할때 보여지는것입니다. 즉 메뉴라는뜻이죠

insmod ntfs,chain,drivemap 등은 어떠한 파일시스템종류인가 바뀌어질것인가 드라이버는 어디있나 라는 말들입니다.

set root=(윈도우설치되어있는드라이브) 이것은 grub 에서 ls -l 로 치시면 나옴니다. 윈도우계열이니깐 거의 ntfs로 쓰실겁니다. 확실하게 하실려면 디스크 이름을찾으시면 됩니다.

​저는 GRUB 에서 ls -l 명령어로 치니깐 

(hd0,msdos1) linux [CentOS7]  파일형식 xfs 드라이브명칭등 

(hd0.msdos2) Windows8 파일형식 NTFS 드라이브명칭등

(hd0,msdos3) Windows8 파일형식 NFTS 드라이브명칭등

-(hd0,msdos2)가 윈도우 8이 깔아져있는 파티션이고요 윈도우쪽에서 얘기하자면 C:이고요

-(hd0.msdos3)가 윈도우에 D: 를 얘기합니다.

제가 최종적으로 Vi 편집기로 추가한내용은 이렇습니다.

menuentry “Windows8 Enterprise k”{

insmod NTFS

insmod chain

insmod drivemap

set root=(hd0,msdos2)

chainloader +1

}

을 추가를해서 멀티부팅에 성공하였습니다.​

 

참고로 GRUB> 를 실행하려면 부팅시 ‘C’를 누르면 됨