Tags
- ubuntu
- 자이언트얀
- 제주도
- 네트워크
- WiFi
- openwrt nat table
- Wireless
- C언어
- 동대문부자재시장
- openwrt nat 테이블 확인하기
- menuconfig
- programmers level2 C
- C
- WiFi6
- openwrt nat
- nf_conntrack
- hostapd
- 나트랑 일정
- 프로그래머스 c언어
- openwrt
- 리눅스
- nat 적용
- nat 정의
- 비즈팔찌
- openwrt netfilter
- 나트랑 여행 경비
- openwrt nf_conntrack
- Linux
- nat table 확인하기
- 취미생활
Archives
- Today
- Total
Mandoo’s WLAN story
[OpenWRT] openwrt에서 mac주소 변경하는 방법 본문
openwrt에서 mac주소를 변경하는 방법은 2가지가 있다.
1. uci 명령어를 이용해서 영구적으로 변경하기
2. ifconfig 명령어 사용
1. uci 명령어
아래와 같이 uci 커맨드를 만들어서 적용하는 방법이다.
uci set network.wan.macaddr=[mac]
이 방법을 사용하면, 아래 두개의 커맨드를 실행해주어야 한다.
uci commit
/etc/init.d/network restart
commit을 해야 /etc/config/network 설정파일에 반영되고, 네트워크를 재실행해야 변경한 mac 주소가 반영된다!
하지만 치명적인 단점이 있는데, mac주소 형식 검사를 하지않는것이다.
mac주소 형식은 16진수와 콜론(:)이나 하이픈(-) 조합으로 이루어지는데, uci 커맨드를 이용하면 mac주소 형식을 검사하지 않고 바로 /etc/config/network에 반영한다..
/etc/config/network에 반영하지만 ifconfig를 이용해 mac주소를 확인해보면,
시스템에서 임의로 할당한 mac주소가 확인 될 것이다.
그렇기 때문에 반드시 mac주소 형식에 맞게 입력을 해주어야한다.
uci set network.eth0.gateway='123456' 를 입력하고, uci commit 후 네트워크를 재실행한다.
vi나 cat으로 /etc/config/network 파일을 열어보면 아래와 같이 잘못된 형식의 mac주소가 반영되있는것을 확인할 수 있다.
ifconfig를 입력해 실제 mac주소를 확인해보면, 아래 사진과 같이 시스템에서 임의로 할당한 mac가 확인된다.
2. ifconfig 명령어 사용
아래와 같은 형식으로 커맨드를 입력하고, ifconfig를 입력해보면 mac주소가 바로 변경되어 있을것이다.
하지만 이 방법은 시스템을 재부팅하면 다시 되돌아가기 때문에 일시적인 방법이다.
ifconfig [interfase name] hw ether [mac]
특정 인터페이스의 mac주소를 사용자가 입력한 값으로 고정해야하는 개발을 해야하는데,
mac주소 형식을 검색하는 API를 못찾았다..
그렇다고 코드로 하나하나 조건 검사를 하기엔 너무 노가다 작업인거 같아서 popen을 이용해 ifconfig 명령어로 mac주소 포멧을 확인하고, uci 명령어로 영구적으로 설정하는 방법으로 개발했다.
'Mandoo's IT Story > OpenWRT' 카테고리의 다른 글
[OpenWRT] TCP open fail 시 재전송 횟수 확인 (1) | 2024.01.02 |
---|---|
[OpenWRT]OpenWRT에서 logrotate 사용하기 (0) | 2022.09.14 |
[OpenWrt] Openwrt Network 설정 (0) | 2021.11.11 |