1) 상황
ubuntu 22.04버전이 설치되어 있는 보드에는 wifi로 인터넷이 연결되어 있는 상태고 이 보드와 태블릿은 랜선으로 연결되어 있습니다. 태블릿은 랜선을 연결하면 wifi가 안되기 때문에 보드에서 인터넷을 태블릿으로 공급(?) 해주려고 합니다. 인터넷을 검색하면 보이는 글들은 대부분 gui를 통해서 설정하는 예제들이 많은데, 저에게 주어진 상황에서는 gui를 사용할 수 없기 때문에 cli를 통해서 설정하려고 합니다.
2) 설정 방법 (1) -보드
본 글에서는 network manager가 정상적으로 설치되어 있고, 동작하는 것을 가정하여 진행하겠습니다.
$ nmcli device

먼저 network device 정보를 확인합니다. 현재 wifi는 정상적으로 연결되어 있는 것을 확인할 수 있고, eth0은 unmanaged 상태인 것을 확인할 수 있습니다. unmanaged 상태라면 networkManager 명령어로 설정을 변경하는 것이 동작되지 않기 때문에 unmanaged 상태를 변경해주어야 합니다.
vi /usr/lib/NetworkManager/conf.d/10-global-managed-devices.conf

해당 경로에 있는 파일을 열어보면 unmanaged-device는 모든 것이고, except로 wifi 등을 설정해주는 것을 확인할 수 있는데, 원래 처음 파일을 열면 except:type:ethernet은 없을 것입니다. 해당 부분을 채워넣고 파일을 저장합니다.
sudo systemctl restart NetworkManager
네트워크매니저를 재시작합니다.
nmcli device
위 명령어를 다시 입력했을 때, ethernet이 connected 상태가 되면 됩니다.
sudo nmcli connection add type ethernet ifname eth0 ipv4.method shared con-name local
새로운 connection을 생성합니다. 여기서 eth0은 nmcli device 명령어를 입력했을 때, 나오는 device명으로 입력해주어야 합니다. 그리고 con-name의 경우 저는 local로 설정했으나, 본인이 원하는 이름으로 설정해주면 됩니다.여기서 핵심은 ipv4.method를 shared로 설정하는 것입니다.
sudo nmcli con modify local ipv4.addresses 192.42.1.1/24
ip대역을 원하는 대역으로 변경합니다.
sudo nmcli con up
connection을 적용해줍니다.
sudo nmcli device
이 명령어를 입력했을 때 ethernet의 connection에 새로 생성한 connection의 이름(local)이 떠 있으면 성공입니다.
sudo nft list ruleset
위 명령어를 입력하면, 새로 설정된 internet sharing의 규칙(?)을 볼 수 있습니다.
sudo ss -tulpn | egrep ":53:67"
위 명령어를 입력하면, dnsmasq가 돌고 있는 ip주소를 확인할 수 있는데, 해당 ip주소를 태블릿에 입력해주면 됩니다. 굳이 이 명령어를 사용하지 않아도 아래 명령어를 사용해도 됩니다.
ifconfig
위 명령어를 입력했을 때, eth0 ip를 확인할 수 있는데, 해당 ip를 태블릿에 설정해주면 됩니다.
3) 설정 방법(2) - 태블릿
태블릿의 경우, 이더넷 설정으로 들어갑니다. 먼저 ethernet이 켜져 있다면 끄고, 설정을 변경합니다.
먼저 고정 ip의 경우, connection 생성시 설정해주었던 ip (192.42.1.1/24) 안에서 골라서 설정합니다.
그리고, dns서버와 기본 게이트웨이 ip주소를 위해서 확인했던 주소로 설정해줍니다. 일반적으로 192.42.1.1/24 이렇게 대역을 설정한 경우에는 일반적으로 192.42.1.1입니다.
네트워크에 지식이 별로 없어서, 여러 글들을 참고 후 작성한 글이라 잘못된 내용이 있을 수 있다는 점 감안부탁드립니다.
혹시, 잘못된 내용이 있다면 댓글로 알려주세요:) 감사합니다!