[홈서버 구축기] 네트웍 설정하기
여기에서는 인터넷 공유기를 통한 인터넷 공유 서비스 상황하에서 내용을 전개합니다. 그리고 ISP(Internet Service Provider)로 부터 받는 공인 IP는 유동 IP 상황입니다.
서버로 쓰기 위해선 서버의 IP 주소가 고정되어야한다.
서버의 IP 주소는 두가지가 있을텐데 하나는 인터넷에 연결된 공인 IP가 있을 것이고, 또 다른 하나는 공유기 안쪽의 내부망용 내부 IP가 있을 것이다.
인터넷에 연결된 공인 IP는 유동 IP 서비스를 받았기 때문에 주기가 길든, 짧든 바뀌게 된다. 그래서 DDNS (Dynamic DNS)서비스를 통해 도메인 이름으로 접속을 하려고 한다. (DDNS 서비스 연동은 추후 설명 예정)
공유기 안쪽의 내부망용 내부 IP는 공유기나 서버(BSD)에서 설정할 수 있고, 서버의 내부 IP를 고정으로 만드는 방법도 공유기나 서버(BSD)에서 각각 가능하다.
분류가 복잡한데 정리를 하면…
- 공인 IP
- ISP(KT 올레, SK 브로드밴드, LG UPlus등을 통해 서비스 받음)를 통해 받는 외부 IP
- 고정 IP 서비스(비쌈)가 아닌 경우 IP가 유동적으로 바뀜 (쌈)
- 외부에서 접속하기 위해선 DDNS 서비스를 통해 도메인 네임과 IP를 동적으로 연결시켜줘야함
- 내부 IP
- 공유기 안쪽에서 부여하는 내부망 IP
- 공유기의 DHCP 설정에서 할당할 수도 있고
- 서버(BSD)에서 임의로 할당할 수도 있다.
- 할당 방법
- 직접 편집 (/etc/rc.conf)
- 명령 (ifconfig, route)
- 도구 (bsdconfig)
- 할당 방법
공유기의 DHCP 설정에서 IP 영역을 지정하면, 컴퓨터나 스마트폰 등이 공유기에 접속될 때 자동으로 그 IP 영역중의 하나를 부여해준다. 따라서 DHCP로 자동 부여를 하면 대부분 부여한 IP를 다시 부여하기도 하지만 바뀔 가능성이 있다. 따라서 특정 PC나 스마트폰에 특정 IP를 주기 위해서는 DHCP 설정에서 그 단말(PC/스마트폰) 유무선 랜카드의 MAC Address에 특정 IP를 부여하면 된다.
참고로 내 공유기의 내부망 DHCP 설정이다.
이렇게 공유기의 네트웍 설정의 DHCP 설정에서 해도 되고, 서버(BSD)에서 내부망 IP 대역 중 하나를 정해서 직접 매뉴얼로 IP를 지정해도 된다. 동적 설정 명령은 ifconfig와 route 이고, 정적 고정 설정은 /etc/rc.conf 에서 한다.
/etc/rc.conf에 설정값이 있으면 부팅 시에 자동 반영이 되고, 이를 바꾸려면 /etc/rc.conf를 편집해서 바꾸고 리부팅하거나, 아니면 동적으로 ifconfig 등으로 바꾸면 된다.
/etc/rc.conf 설정 (부팅 시 자동 반영)
DHCP 설정
ifconfig_<네트웍 인터페이스 이름>="DHCP"
수동 설정
ifconfig_<네트웍 인터페이스 이름>="inet <IP> netmask <mask>"
Command를 통한 동적 설정 (리부팅시 효력 잃음)
$ ifconfig : 네트웍 인터페이스 정보들을 보여준다.
$ ifconfig <특정 네트웍 인터페이스> : 특정 네트웍 인터페이스 정보들 보여준다.
$ ifconfig <특정 네트웍 인터페이스> inet <IP> <넷마스크> : 특정 네트웍 인터페이스에 IP, 넷마스크 부여
$ route add default <gateway IP> : default Gateway 설정
$ ifconfig up <특정 네트웍 인터페이스> : 네트웍 인터페이스 활성화시키기
$ ifconfig down <특정 네트웍 인터페이스> : 네트웍 인터페이스 비활성화시키기
우리집 내부망은 192.168.0.XXX/24 이고 default gateway (공유기)는 192.168.0.1 이며 서버(BSD)에는 192.168.0.100 의 IP를 부여할 것이다.
서버(BSD)에 달려있는 랜카드는 리얼텍 것으로 re0 라는 인터페이스 명이 부여되어있다. (dmesg 명령으로 확인 가능. ex: $ dmesg | grep Ethernet)
/etc/rc.conf 에서 설정하기 (부팅 시 자동 반영)
ifconfig_re0="inet 192.168.0.100 netmask 255.255.255.0"
defaultrouter="192.168.0.1"
실제 서버(BSD)에서의 설정이 아래처럼 되어있다.
수동으로 설정하기 (부팅 시 효력 상실)
$ ifconfig re0 inet 192.168.0.100 netmask 255.255.255.0
$ route add default 192.168.0.1
$ ifconfig re0 down
$ ifconfig re0 up
$ ifconfig re0
이제 서버(BSD)에 내부 IP가 부여되었다.
내부망에서는 이 내부 IP로 접속이 가능하다.
다만 외부에서 이 서버(BSD)에 접속하기 위해선 이 서버 앞쪽에 있는 공유기에서 연결을 해줘야한다.
이를 Port Forwarding이라 한다.