NAT으로 L3스위치 구현하는법??

jic5760의 이미지

iptables을 이용해서 L3스위치를 구현해보고 싶습니다.
제 생각엔 SNAT을 이용해서 어떻게 하면 될거같기도 한데
이게 될지 확신도 없구 방법도 잘 모르겠습니다.
구글에서 찾아봐도 이런건 잘 못찾겠네요.

eth0 (10.0.0.1/24)
eth1 (10.1.0.1/24)
eth2 (10.2.0.1/24)
만약 이렇게 있을때 다 같은 네트워크처럼? 통신을 할 수 있도록 L3스위치를 구현하고 싶습니다.

김정균의 이미지

jic5760의 이미지

그런데 방금 해결하고 여기에 방법을 올리려 들어왔는데 답변이 달려있네요~
답변 주셔서 감사합니다.

jic5760의 이미지

iptables으로 각각의 다른 IP대역끼리 통신이 가능하게 하는걸 하고 싶은데
처음엔 어떻게 해야 할지 막막했는데 해보니까 엄청 쉬운 거였네요..ㅋ

예를들어
eth0 : 10.0.0.0/24
eth1 : 10.0.1.0/24가 있다면

iptables -t FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -t FORWARD -i eth1 -o eth0 -j ACCEPT
이렇게만 해주면 되네요...

iptables nat테이블에다가 log을 걸어놓고 다른 IP대역으로 ping을 보내봤는데 패킷이 잡히지 않더군요
다른 IP(e.g. 10.10.10.10)같은건 여기서 잡히구요.
혹시나 해서 forward테이블에 log을 걸어놨더니 딱! 잡히네요.
그래서 이렇게 해 보았는데 잘 됩니다.ㅎㅎ

저는 특정 포트만 개방하고 싶어서
기본적으로 ctstate RELATED,ESTABLISHED 을 ACCEPT하고
특정 IP에 대한 특정 PORT만 ACCEPT하게 해 놓았습니다~

http://ablog.jichanng.pe.kr/220193552237