NetworkManager + dnsmasq으로 인터넷공유 만들기
필요성, 궁금함, 현재 상황
- 메인 데스크탑을 무선랜으로 인터넷에 연결하고 사용함.
- 다른 기기들도 모두 기본적으로 무선으로 LAN접속.
- 다 좋은데, 메인 데스크탑 <-> 라즈베리파이 접속할때 ssh 접속도 느린거 같을때가 있음.
- 무선랜 접속이 많고, 블루투스 등등 다른 간섭도 많을거고,
- 어쨌든 조금 물리적으로 거리가 있는 무선공유기까지 갔다 오는거니까.
- 그래서 사용 안하고 있는 데스크탑의 내장 유선 랜포트로 인터넷연결을 공유하는 Private network을 만들어서 유선으로 연결해보기로 했다.
- 정말 체감이 빨라질지 궁금했고
- 직접 수동으로 설정하는게 거의 없거나,
- 내가 사용하고 있는 NetworkManager에서 쉽게 설정이 가능할거 같았다. - https://wiki.archlinux.org/index.php/NetworkManager#Sharing_internet_connection_over_Ethernet
진행과 추가적인 설정
- 그냥 nm-applet 사용해서 wired connection에 인터넷 공유를 체크한게 설정 전부.
- dnsmasq 패키지만 설치하고, 별도로 systemctl으로 enable/start한건 없음. (NetworkManager에서 자동으로 관리)
- 잘 동작함. ㅎㅎ
- 추가적으로, Private Network에 접속하는 호스트의 MAC 어드레스에 IP주소를 고정해서 접속이 편하도록 설정했다.
MAC주소에 고정IP 할당하기
- dnsmasq의 DHCP 설정을 추가한다.
/etc/NetworkManager/dnsmasq-shared.d/static-ips.conf
파일을 작성했다.- 별도의 재시작 없이, 파일 저장하고, 그냥 유선연결을 끊었다가 다시 연결하면 끝.
- 나머지는 NetworkManager이 다 자동으로 처리.
설정파일의 내용은 1:
dhcp-host=aa:bb:cc:dd:ee:ff,10.42.0.123
팁
- 할당된 IP주소 등을 계속 보려면,
ip address
커맨드랑 - NetworkManager, dnsmasq DHCP 로그 등은 그냥
sudo journalctl -f
열어놓고 보면 조금 더 동작 이해하기 편함.2
감상
- 의도한대로 훨씬 부드러운 연결3
- 생각보다 훨씬 단순한 설정이어서 NetworkManager 좋다.
- 그냥 처음부터 유무선공유기 남는걸로 브릿징해서 구성해도 괜찮았겠지만, 공유기 놓고 그러기 물리적으로 귀찮았다.