맥 복구모드 고정아이피 설정

Set static ip in Mac recovery mode

기존에 사용하던 iMac을 개발용서버로 사용하기 위해 초기화를 하였습니다. 복구모드에서 디스크를 초기화하고 OS를 재설치하려고 했지만 인터넷연결 문제로 원활하게 진행되지 않았습니다. 고정아이피를 사용하지 않은 문제였습니다. 그런데 OS High Sierra 부터 networksetup를 사용할 수 없습니다. 그래서 ifconfig, route, scutil를 사용해서 수동으로 고정아이피를 설정하고 nameserver를 설정해봤습니다.

상단메뉴에서 Utilities > Terminal 터미널을 켜줍니다.

$ ifconfig
en0: flags=8863 mtu 1500
ether aa:aa:aa:aa
inet6 bb:bb:bb:bb en0 prefixlen 64 secured scopeid 0xa
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
media: autoselect
status: active

네트워크 아이피 주소와 서브마스크 주소등이 보입니다. 연결된 혹은 사용할 네트워크 인터페이스를 확인합니다. (en0, en1, eth0 등) 필자의 경우 iMac에 연결된 이더넷을 사용하기 때문에 en0를 설정하였습니다.

$ ifconfig en0 172.30.1.2 netmask 255.255.255.0

en0에 아이피를 172.30.1.2로 설정했습니다.

$ ifconfig
en0: flags=8863 mtu 1500
ether aa:aa:aa:aa
inet6 bb:bb:bb:bb en0 prefixlen 64 secured scopeid 0xa
inet 172.30.1.2 netmask 0xffffff00 broadcast 172.30.1.255
media: autoselect
status: active

확인해보면 정상적으로 적용된것을 알 수 있습니다.

$ route -n delete default
$ route -n add default 172.30.1.1 -ifscope en0

게이트웨이를 등록하는 방법입니다. 필자는 기본적으로 할당된 게이트웨이가 있어서 삭제를 했고 -ifscope을 명시하지 않으면 en1으로 할당되어 강제로 en0으로 설정했습니다.

기본적인 설정은 끝입니다. 재부팅을 하면 모든설정이 초기화되니 잘못 설정했다고 생각들면 재부팅하시면 됩니다. 하지만 문제는 해결되지 않았습니다. 네임서버까지 수동으로 할당해야 합니다. 😱

$ scutil --dns
resolver #1
nameserver[0] : 123.111.112.4
nameserver[1] : 161.2.156.2
flags : Request A records
reach : 0x00000002 (Reachable)

우선 기본 서비스 아이디를 알아내야합니다.

$ scutil
> open
> get State:/Network/Global/IPv4
> d.show
 {
PrimaryService : AAAAAAA-AAAAAA-AAAAAA
}

primaryService 값을 CMD+C로 복사합니다.

$ scutil
> open
> d.init
> d.add ServerAddresses * 198.35.23.2 198.32.56.32
> set State:/Network/Service/PrimaryService/DNS
> quit

PrimaryService부분에 아까 복사해둔 값을 CMD+V로 붙여넣습니다.

resolver #1
nameserver[0] : 198.35.23.2
nameserver[1] : 198.32.56.32
flags : Request A records
reach : 0x00000002 (Reachable)

그럼 정상적으로 설정된 것을 확인하실 수 있습니다.