MAC 어드레스를 기준으로 사용 가능한 IP를 제한하는 방법이 있을까요?

   조회 5102   추천 0    

안녕하세요,

현재 네트워크 구성이 다음과 같은 상황입니다.

------------------------------------------
외부망 ---> 특정 IP 차단(방화벽) 용 브릿지 CentOS 머신 ---> 언매니지드 스위치 ---> 호스트 머신들 (약 100대 가량)
------------------------------------------

호스트 머신의 MAC에 따라서 사용 가능한 IP의 제한을 두고 싶습니다.

아무래도 IP 차단용 브릿지 머신에서 이걸 해결 가능할 것 같은데요,
가능하면 추가 장비를 들이지 않고 해결할 수 있었으면 좋겠습니다.

VLAN 구성을 하면 되나 알아봤는데 이렇게 아이피 하나하나를 다르게 할당하기 위해서는 적합하지 않은 것 처럼 보이더라구요.

브릿지 머신의 iptables에서 IP와 MAC을 매칭시킬 수 있나 찾아봤는데 이런 방법도 잘 보이지 않구요.

호스트 머신들이 공인아이피를 사용해야 하는 상황이라 NAT 구성도 어려운 상황입니다.

혹시 방법을 아시는 분이 있으시다면 공유 부탁드리겠습니다.

서명
짧은글 일수록 신중하게.
Qsup 2020-10
ARP Table에서 IP Address를 Static으로 설정해서 하나하나 지정해주면 되지 않나요?
     
강민준1 2020-10
헉... 그럴 것 같네요;; 바로 테스트 VM 만들어서 시도해 보겠습니다. 감사합니다.
     
강민준1 2020-10
중간의 브릿지 머신의 arp table에 설정해 주었는데,
브릿지 머신에서 핑은 안 가지만 아이피 할당은 정상적으로 되고
다른 머신에서도 정상적으로 접속이 되어버리네요.

이 방법을 사용하려면 모든 머신의 arp table에 static으로 넣어줘야 할 것 같은데, 이건 사실상 좀 어려울 것 같습니다 ㅠㅠ
          
Qsup 2020-10
머신 대수가 많다면 역시나 좀 힘들겠죠.
뭐 이런게 전문 장비가 존재하는 이유겠죠.....
강민준1 2020-10
* nsx의 spoofguard와 같은 기능이긴 한데, nsx를 이용하지 않고 구성하려고 합니다.
워낙 제가 글을 잘 못 써서... 글의 요지가 잘 나타난 것 같지 않아 비슷한 기능을 남겨드립니다.
     
Qsup 2020-10
결국 ARP 테이블을 정적 / 동적으로 요리조리 잘 굴려서 스푸핑을 막는건데
수작업으로 비슷하게 구현하려면 노가다는 어쩔 수 없는듯 합니다...
Noname1 2020-10
iptables로 가능한데요.. 맥주소에다가 "아이피 개수"를 제한하는거라면 이건 따로 대몬으로 arp테이블 모니터링 하는 스크립트(또는 NAC장비)가 필요할것같네요

iptables -t FORWARD -A INPUT -i eth1 -m mac --mac-source 12:34:56:12:34:56 -s 192.168.100.1 -j ACCEPT
iptables -t FORWARD -A INPUT -i eth1 -m mac --mac-source 12:34:56:12:34:56 -s 133.111.69.74 -j ACCEPT
iptables -t FORWARD -A INPUT -i eth1 -j DROP
iptables -P FORWARD DROP
     
강민준1 2020-10
말씀하신 스크립트가 저한테 맞는 스크립트 같습니다. 테스트 해보고 결과 전달드리겠습니다. ^^
찬이 2020-10
vmware에서 bridge network로 사용하신다면은 위 구성에서는 어려울것 같습니다.
bridge network은 host에서 나가는 mac을 (guest의 mac으로)변조하는 개념이라 어느 host에서 나온건지 브릿지용 머신에서는 판단할 수 없습니다.
매니지먼트 스위치를 이용해서 IP가 아닌 물리적인 LAN포트 당 MAC개수를 제한하는것이 하나의 방법일듯 싶습니다.
좀 더 복잡하게는 호스트마다 다른 vlan을 주고 브릿지용 머신에서 해당 vlan들을 브릿지&필터할수도 있을거같구요
     
강민준1 2020-10
vmware의 bridge network가 아니라 linux의 bridge로 구축되어 있는 상태입니다.ㅠㅠ
          
찬이 2020-10
아 글을 제대로 안읽었었네요ㅋㅋㅋ
호스트머신이라 해서 당연히 VM인줄 알았네요ㅠㅠㅠㅠ
파닥파닥 2020-10
L2 구간이라면 모든 가용가능한 ip 에 대해서 방화벽 역활을 하는 장비가 spoofing 하다가 특정 mac 에 대해서만 풀어주는 식으로 가면 안될까요

mac 에 대한 ACL 은 앞서 분들이 언급한데로 src ip 와 src mac 을 매칭시켜서 필터링하구요
CentOS의 netfilter의 hook에 mac과 IP를 비교하는 kernel module을 만들어 넣는게 이런 일을 하기에 제일 맞는 것 같긴 합니다.


QnA
제목Page 936/5725
2014-05   5240551   정은준1
2015-12   1766026   백메가
2020-10   3376   미수맨
2020-10   3019   미수맨
2020-10   4599   술이
2020-10   2776   김민수2
2020-10   4819   화정큐삼
2020-10   5512   코더74
2020-10   2485   GPGPU
2020-10   6956   치포로
2020-10   6093   VSPress
2020-10   4650   VSPress
2020-10   6247   VSPress
2020-10   3505   헥사코어
2020-10   3408   두리안
2020-09   5103   강민준1
2020-09   4953   까치산개꿀탱
2020-09   5420   술이
2020-09   7770   장동건2014
2020-09   5003   수퍼싸이언
2020-09   6327   반성만
2020-09   5065   빡시다