[Ubuntu] 네트워크 관련 명령어[Ubuntu] 네트워크 관련 명령어
Posted at 2018. 7. 19. 15:51 | Posted in Linux/Ubuntu■ 네트워크 관련 명령어
-. 우분투를 포함한 리눅스를 사용하게 어되면 대부분 네트워크를 통한 서비스를 하거나 작업을 하는 경우가 많다.
-. 따라서 가장 많이 쓰이는 명령어들 중 하나가 네트워크를 확인하거나 설정하는 명령어들이다.
# 연결에 문제가 없는지 확인하는 명령어 ping
$ ping IP주소 또는 도메인 주소 |
-. ping은 가장 기본적인 네트워크 명령어로 연결에 문제가 없는지 확인하는 명령어이다.
-. 예를 들어 자신의 컴퓨터가 인터넷에 잘 연결되어 있는지 확인하려면 위와 같이 입력하면 된다.
-. 위와 같은 결과가 나온다면 google.com 서버로부터 응답을 받았다는 의미이며, 이는 컴퓨터가 인터넷에 잘 연결되었다는 의미이다.
# 네트워크 장치 목록 확인 ifconfig
$ ifconfig |
-. ifconfig 명령어는 운영체제에 설정된 네트워크 장치의 목록을 보여준다.
-. 위 이미지는 필자의 환경에서 실행한 결과이다.
-. 위 항목에서 eth0, lo 라고 적혀진 부분이 각각의 하나의 네트워크 장치로 인식된 장치를 말한다.
① enp0s3, eth0
· 우분투 16버전이상부터 eth0가사라지고 enp0s3가사용된다.
· enp0s3라고 적힌 네트워크 장치가 실제로 네트워크와 연결되는 장치를 의미한다.
· 만약 네트워크장치가 1개가 아니라면 eth1, eth2 … 이런 식으로 여러 개가 존재하게 된다.
· inet addr이다 이 정보가 바로 IP 주소정보이다.
② lo
· lo라는 항목은 좀 특이한 항목이다. lo는 loopback이라 불리며 실제 물리적으로 연결된 네트워크의 연결과는 별개로 존재한다. 이는 운영체제 자신을 가리키고 있는 장치이다.
· lo장치는 항상 IP주소가 127.0.0.1을 항당 받는데 이는 관례적으로 자기 자신을 가리키는 IP 주소로 사용된다.
· 용도는 외부 네트워크가 아닌 동일 컴퓨터에서 동작중인 서버나 프로그램에 접속할 때 사용한다.
※ ifconfig가 실행되지 않는경우
-. 우분투 18.04버전을 처음 설치하고 ifconfig 명령을 수행 중 실행이 되지 않는 경우가 발생 하였다.
-. 이경우 net-tools 패키지를 설치함으로서 해결 할 수 있다.
$ sudo apt install net-tools |
# ifconfig를 활용한 네트워크 IP 주소 변경
$ ifconfig enp0s3 192.168.1.5 |
-. 위 명령은 enp0s3라는 네트워크 장치의 IP를 192.168.1.5로 변경하라는 명령이다.
# 네트워크의 연결 상태를 모니터링하는 netstart
$ netstat -at |
-. netstat은 네트워크의 연결 상태를 모니터링 하는 명령어이다.
-. netstat을 이용하게 되면 어떤 서비스가 활성화되어 동작 중인지, 어떤 클라이언트가 접속 중인지를 파악할 수 있다.
-. tcp의 연결 상태를 보고 싶다면 위와 같이 입력한다.
-. 이 명령으로 현재 컴퓨터에서 어떤 서비스가 동작하고 있는지를 알 수 있다.
| Active Internet connections ( servers and established ) | |||||
Proto |
Recv-Q |
Send-Q |
Local Address |
Foreign Address |
State |
|
① | tcp |
0 |
0 |
localhost:59479 |
*:* |
LISTEN |
② | tcp | 0 | 0 | localhost:postgresql | *:* | LISTEN |
③ | tcp | 0 | 0 | *:8089 | *:* | LISTEN |
④ | tcp | 0 | 0 | localhost:mysql | *:* | LISTEN |
⑤ | tcp | 0 | 0 | localhost:http-alt | *:* | LISTEN |
⑥ | tcp | 0 | 0 | *:ssh | *:* | LISTEN |
⑦ | tcp | 0 | 0 | localhost:postgresql | localhost:46709 | TIME_WAIT |
⑧ | tcp | 0 | 36 | localhost:ssh | 58.122.34.74:53001 | ESTABLISHED |
⑨ | tcp | 0 | 0 | localhost:postgresql | localhost:46720 | TIME_WAIT |
⑩ | tcp | 0 | 0 | localhost:postgresql | localhost:46718 | ESTABLISHED |
⑪ | tcp | 0 | 0 | localhost:postgresql | localhost:46706 | ESTABLISHED |
⑫ | tcp | 0 | 0 | localhost:postgresql | localhost:46705 | TIME_WAIT |
⑬ | tcp | 0 | 0 | localhost:postgresql | localhost:46715 | TIME_WAIT |
⑭ | tcp | 0 | 0 | localhost:postgresql | localhost:46721 | ESTABLISHED |
:: 리눅스의 신 168page 결과값 :: |
-. ③번째 항목에서 보이듯이 tcp포트 8089가 클라이언트 접속 대기중인 것을 알 수 있다.
-. State가 LISTEN인 항목은 "클라이언트의 접속 대기 중"이라는 의미이다.
-. State가 ESTABLISHED인 항목은 "이미 클라이언트가 해당 서비스를 사용하기 위해 접속되어 있다."라는 의미이다.
# 인터넷 라우팅 테이블 정보를 보여주는 route
$ route |
-. route 명령은 인터넷 라우팅 테이블 정보를 보여준다.
-. 패킷이라고 부르는 데이터 조각이 발신 컴퓨터에서 출발해 인터넷을 거쳐서 목적지까지 도착하려면 수많은 라우터 또는 게이트웨이를 지나가야 한다.
-. 이렇게 패킷이 라우터를 거쳐서 전달되는 과정을 라우팅(Routing)이라고 한다.
-. 라우팅에서 가장 중요한 것이 첫 번째 게이트웨이 정보이다.
-. 우리는 첫 번째 게이트웨이까지만 패킷을 전달해주면 그 이후 패킷이 잘 전달되게 하는 것은 첫번째 게이트웨이의 몫이기 때문이다.
-. 보통 인터넷 공유기를 사용하면 첫 번째 게이트웨이는 공유기가 된다.를
|
Kernel IP routing table |
|||||||
Destination |
Gateway |
Genmask |
Flags |
Metric |
REF | Use | Iface |
|
① |
defalut |
10.211.55.1 |
0.0.0.0 |
UG |
0 |
0 | 0 | eth0 |
② |
10.211.55.0 |
* |
255.255.255.0 |
U |
1 |
0 | 0 | eth0 |
:: 리눅스의 신 170page 결과값 :: |
-. 위 표를 통해 알 수 있듯이 필자의 게이트웨이는 default라고 되어 있는 10.211.551 주소이다.
따라서 컴퓨터에서 위보루 보내지는 모든 패킷은 10.211.55.1로 전달되게 된다.
-. 만약 게이트웨이 IP주소가 잘못되어 있다면(즉, 이너텟 공유기 주소가 아니라면) 인터넷이 연결되지 않는다.
'Linux > Ubuntu' 카테고리의 다른 글
[Ubuntu] 우분투의 시스템 구조 (0) | 2018.07.19 |
---|---|
[Ubuntu] 우분투 시스템 재시작 (0) | 2018.07.19 |
[Ubuntu] 우분투 Package 관리 (0) | 2018.06.29 |
[Ubuntu] Terminal 사용하기 (0) | 2018.06.27 |
Wine을 이용하기 (0) | 2018.06.26 |