WED
로컬 LLM 구축 명령어 치트시트 - 네트워크
네트워크 확인 명령어
| 명령어 | 동작 | 위치 | 셸 |
|---|---|---|---|
ip -br addr |
서버 IP 확인 | 서버 | bash |
ip route |
인터넷으로 나가는 경로가 있는지 확인 | 서버 | bash |
sudo ss -tlnp |
어떤 포트가 열려 있는지 확인 | 서버 | bash |
sudo ufw status |
방화벽이 포트를 허용하는지 확인 | 서버 | bash |
ping -c 3 서버IP |
IP에 닿는지 확인 | 서버 또는 로컬 PC | bash |
nc -zv -w 3 서버IP 포트번호 |
특정 포트에 연결되는지 확인 | 서버 또는 로컬 PC | bash |
IP 확인
ip -br addr
lo: 자기 자신(루프백)enp...: 유선 랜wlp...: Wi-Fidocker0: Docker 기본 네트워크br-xxx: docker compose가 만든 네트워크veth...: 컨테이너가 만든 가상 인터페이스- 두 번째 컬럼의
UP/DOWN으로 연결 상태를 확인한다.
인터넷 연결 확인
ip route
첫 줄에 default via ...가 보이면 외부로 나가는 경로(게이트웨이)가 있는 것이다. 없으면 인터넷 연결이 안 된 상태다. 경로가 있어도 DNS 문제로 인터넷이 안 될 수 있다.
열린 포트 확인
sudo ss -tlnp
-t: TCP,-l: 대기(LISTEN) 중인 포트,-n: 숫자로 표시,-p: 프로세스 표시Local Address:Port: 서버의 어느 주소, 몇 번 포트에서 기다리는지0.0.0.0또는[::]: 외부에서도 접속할 수 있다.127.0.0.1: 서버 자신만 접속할 수 있다.
Process: 그 포트를 쓰는 프로그램.sudo로 실행해야 보인다.
로컬 LLM 서버에 외부에서 접속이 안 되면 127.0.0.1로 떠 있는지 먼저 확인한다.
방화벽 확인
sudo ufw status
Status: active: 방화벽이 켜져 있다.inactive면 꺼져 있다.To: 대상 포트,Action: 허용(ALLOW) 또는 차단(DENY),From: 적용되는 접속 위치ss -tlnp에서 포트가0.0.0.0으로 열려 있는데 외부에서 연결이 안 되면 방화벽이 막은 것일 수 있다.- 클라우드 서버는 UFW 대신 보안 그룹으로 포트를 관리하기도 한다.
연결 확인
ping -c 3 서버IP # -c 3: 3번만 보낸다
nc -zv -w 3 서버IP 포트번호 # -z: 연결만 확인, -v: 결과 표시, -w 3: 3초 기다린다
ping은 IP에 닿는지만 확인한다. 방화벽이 ICMP를 막은 서버는 실패해도 정상일 수 있다.nc -zv는 그 포트가 실제로 열려 있는지 확인한다.
포트 방화벽 관리 (ufw)
특정 PC 허용
sudo ufw allow from PC_IP to any port 포트번호 proto tcp
PC_IP: 로컬 PC의 PowerShell에서ipconfig를 입력해 나오는 IPv4 주소. 서버와 같은 사내망일 때만 이 주소가 그대로 쓰인다. VPN이나 NAT를 거치면 서버가 보는 주소가 다를 수 있다.
사내망 전체 허용
sudo ufw allow from 192.168.0.0/24 to any port 포트번호 proto tcp
192.168.0.0/24는 예시이며 실제 사내망 대역으로 바꾼다.- 대역 없이
sudo ufw allow 포트번호/tcp만 쓰면 사내망뿐 아니라 어디서든 접속할 수 있다.
허용 확인
서버에서 규칙을 확인한다.
sudo ufw status
로컬 PC의 PowerShell에서 실제로 연결되는지 확인한다.
Test-NetConnection 서버IP -Port 포트번호
TcpTestSucceeded : True이면 포트가 열려 있고 연결된 것이다.
port 닫기
sudo ufw status numbered
sudo ufw delete 규칙번호
- 규칙을 하나 지우면 뒤의 번호가 당겨지므로, 여러 개를 지울 때는 매번
status numbered로 번호를 다시 확인한다. - 번호 대신 규칙을 직접 지정할 수도 있다.
sudo ufw delete allow 포트번호/tcp