NetworkManager + dnsmasq으로 인터넷공유 만들기

Posted on Feb 26, 2019

필요성, 궁금함, 현재 상황

  1. 메인 데스크탑을 무선랜으로 인터넷에 연결하고 사용함.
  2. 다른 기기들도 모두 기본적으로 무선으로 LAN접속.
  3. 다 좋은데, 메인 데스크탑 <-> 라즈베리파이 접속할때 ssh 접속도 느린거 같을때가 있음.
  4. 무선랜 접속이 많고, 블루투스 등등 다른 간섭도 많을거고,
  5. 어쨌든 조금 물리적으로 거리가 있는 무선공유기까지 갔다 오는거니까.
  6. 그래서 사용 안하고 있는 데스크탑의 내장 유선 랜포트로 인터넷연결을 공유하는 Private network을 만들어서 유선으로 연결해보기로 했다.
  7. 정말 체감이 빨라질지 궁금했고
  8. 직접 수동으로 설정하는게 거의 없거나,
  9. 내가 사용하고 있는 NetworkManager에서 쉽게 설정이 가능할거 같았다. - https://wiki.archlinux.org/index.php/NetworkManager#Sharing_internet_connection_over_Ethernet

진행과 추가적인 설정

  1. 그냥 nm-applet 사용해서 wired connection에 인터넷 공유를 체크한게 설정 전부.
  2. dnsmasq 패키지만 설치하고, 별도로 systemctl으로 enable/start한건 없음. (NetworkManager에서 자동으로 관리)
  3. 잘 동작함. ㅎㅎ
  4. 추가적으로, Private Network에 접속하는 호스트의 MAC 어드레스에 IP주소를 고정해서 접속이 편하도록 설정했다.

MAC주소에 고정IP 할당하기

  1. dnsmasq의 DHCP 설정을 추가한다.
  2. /etc/NetworkManager/dnsmasq-shared.d/static-ips.conf 파일을 작성했다.
  3. 별도의 재시작 없이, 파일 저장하고, 그냥 유선연결을 끊었다가 다시 연결하면 끝.
  4. 나머지는 NetworkManager이 다 자동으로 처리.

설정파일의 내용은 1:

dhcp-host=aa:bb:cc:dd:ee:ff,10.42.0.123

  1. 할당된 IP주소 등을 계속 보려면, ip address 커맨드랑
  2. NetworkManager, dnsmasq DHCP 로그 등은 그냥 sudo journalctl -f 열어놓고 보면 조금 더 동작 이해하기 편함.2

감상

  1. 의도한대로 훨씬 부드러운 연결3
  2. 생각보다 훨씬 단순한 설정이어서 NetworkManager 좋다.
  3. 그냥 처음부터 유무선공유기 남는걸로 브릿징해서 구성해도 괜찮았겠지만, 공유기 놓고 그러기 물리적으로 귀찮았다.


  1. https://wiki.archlinux.org/index.php/dnsmasq#DHCP_server ↩︎

  2. 사용하고 있는 배포판/시스템이 systemd이라면. ↩︎

  3. ssh같은건 터미널에서 타이핑할때도 네트웍 커넥션 속도에 따라서 빠르고 느린게 느껴지니까. ↩︎