internet------A------B------HUB
|---------D
|---------E
|---------F
A 호스트( gateway )
IP:
eht0: xxx.xxx.xxx.xxx <- 외부연결
eht1: 192.168.0.1
netmask : 255.255.0.0
nat를 해서 외부로 연결되어 있음(중요하지 않음)
B 호스트 ( subnet gateway )
eth0 : 192.168.0.200 255.255.0.0
eth1 : 192.168.9.1 255.255.255.0
C 호스트 ( 일반 호스트 )
eth0 : 192.168.9.2
D 호스트 ( 일반 호스트 )
eth0 : 192.168.9.3
...
네트워크 구성은 위와 같이 되어 있습니다.
문제는 A호스트는 C, D, E 호스트를 바로 붙어 있는 호스트로 알고
있습니다. 다시말해.. A에서 C호스트로 ping을 하면. ARP부터 날리는데
ARP가 도달하지 않습니다. 당연한 거지요.. -_ㅡ;
A호스트는 B호스트 밑으로 서브넷이 있다는 걸 모르니까요..
그래서 방법으로 proxy ARP가 있다는 걸 알았는데..
이걸 셋팅하는데가 문제 입니다.
B호스트는 레드헷 리눅스 7.3 이구요.. kernel 2.4.18입니다.
B호스트에서 proxy ARP를 설정하는 걸 알려 주세요..
아~
[root@test1 sysconfig]# arp -v -i eth0 -Ds 192.168.9.0 eth0 netmask 255.255.255.0 pub
arp: device `eth0' has HW address ether `00:03:47:97:F3:20'.
arp: SIOCSARP()
SIOCSARP:부적절한 인수
이렇게 나오걸랑요... ㅠ.ㅠ
도저히 뭐가 잘못 된지 모르겠어요.
이것이 proxy arp를 하기 위한 셋팅이 맞는 지도 모르겠구요..
man 페이지를 읽어 보면..
이런 말도 있습니다.
NOTE: As of kernel 2.2.0 it is no longer possible to set an ARP entry for an entire
subnet. Linux instead does automagic proxy arp when a route exists and it is forward-
ing. See arp(7) for details.
자동으로 해준다고요?? 무슨 말인지... ㅠ.ㅠ