가끔이지만.. 조금 네트워크가 복잡해지면 같은 도메인이나 서브넷 안에서 하단에 공유기가 달린다던가 해서 원래 의도하지 않은 DHCP 서버가 추가되어 미크로틱 장비들이 의도와 다른 dhcp서버로 부터 아이피를 가져오게 되기도 합니다.
이럼 아주 네트워크가 많이 꼬이게 되죠..
미크로틱에서 이걸 방지하는 방법을 알아보겠습니다.
서버가 유닉스든 리눅스든 미크로틱이든 다른 벤더 장비든 상관없이 미크로틱 장비나 오에스가 클라이언트가 되는 경우입니다.
문서에서는 두가지 방식이 나와 있습니다. 두가지 다 유효한 방법 입니다.
만일 지정하고자 하는 서버 아이피가 192.168.100.1 이라고 가정합니다.
먼저 option code 54 server id 를 사용하는 방식입니다.
rfc2132 문서는 다음과 같이 설명합니다.
옵션코드가 54라면 총 길이 4바이트 그리고 아이피v4 주소를 핵사코드로 변환해 붙여적으면 됩니다.
미크로틱 명령으로 만들어보면
/ip dhcp-client option add name=server-id code=54 value=0x04c0a86401 를 입력하면 됩니다.
여기서 0x04c0a86401를 분석해보면 처음 0x는 16진수라는 의미고 04 는 길이인 4바이트를 나타내고 각 핵사코드들인 c0 은 192 를, a8은 168을, 64는 100을, 01은 1을 나타냅니다.
다른 방법은 option code 122 ccc 의 서브옵션 1 server address 를 이용하는 방법입니다.
RFC3495 에는 아래와 같이 설명되어 있습니다.
이 설명을 따라 미크로틱 명령으로 만들면 다음과 같습니다.
ip dhcp-client option add name=server-address code=122 value=0x060104c0a86401
여기서 특이점은 122번 옵션code의 server addrss 서브옵션은 코드를 1 과 2만 선택할수 있습니다.
0x060104c0a86401 을 분석해보면 처음 0x는 16진수라는 의미고 06은 전체 길이인 6바이트를 나타내고, 01은 옵션1을 나타내며, 04는 옵션의길이인 4바이트를 나타내고 각 핵사코드들인 c0 은 192 를, a8은 168을, 64는 100을, 01은 1을 나타냅니다.
두가지 다 유효한 방법입니다.
add action=log chain=input comment="Block DHCP" \
disabled=no dst-address=255.255.255.255/32 ip-protocol=udp log-prefix=\
"ALERT ROGUE DHCP (BLOCKED)" mac-protocol=ip src-port=67-68
add action=drop chain=input in-interface=ether2 comment="Block DHCP" \
disabled=no dst-address=255.255.255.255/32 ip-protocol=udp mac-protocol=ip src-port=67-68
Ȥ½Ã ÇÑ °¡Áö ´õ ¿©ÂåºÁµµ µÉ±î¿ä...?
firewall rule°ú bridge filter´Â ¹«½¼ Â÷ÀÌÀΰ¡¿ä?