iptables는 서브넷의 호스트를 다른 NIC로 보호합니다.

iptables는 서브넷의 호스트를 다른 NIC로 보호합니다.

나는 도움이 필요해. iptables에 익숙함에도 불구하고, 어떻게 시작해야 할지조차 모르겠습니다.

고정 IP 주소가 10.0.0.2/24인 가젯이 있습니다. 이것이 바로 그것이며 나는 그것을 바꿀 수 없습니다. 내 노트북에는 네트워크 카드가 하나만 있었습니다. 공용 인터넷과 이 가젯(노트북 이외의 다른 항목에 대한 액세스가 필요하지 않음)에 간단히 연결할 수 있었습니다. 이를 내 개발 네트워크에 연결하고 랩톱 네트워크 카드에 보조 주소 10.0.0.1을 제공하고 장치를 연결했습니다. 내 노트북과 같은 스위치에. 이상적이지는 않지만 작동합니다.

이제 IP 범위가....(서스펜스 음악).... 10.0.0.0/24인 다른 개발 네트워크로 이동해야 합니다. 그리고 10.0.0.2는 DHCP 범위 내의 다른 장치에 의해 점유됩니다.

이제 랩톱용 다른 네트워크 인터페이스 카드(eth1)를 얻어 IP 주소 10.42.42.1을 할당했습니다.

기본적으로 내가 해야 할 일은 10.42.42.2에 액세스할 때 eth1에서 나가는 트래픽이 IP 주소 10.0.0.5를 얻고 eth1의 10.0.0.2로 전달되고 가젯이 응답할 때 eth1이 응답하도록 구현하는 iptables 마법입니다. 응답을 받으면 마치 10.42.42.2에서 온 것처럼 내 호스트 노트북으로 전달됩니다.

SNAT/DNAT 규칙이 필요할 수 있지만 어떻게 설정합니까?

시간

답변1

이것은 과제가 아니며 iptablesnetwork namespaces질문에 더 적합합니다.

# Create network namespace gadget
ip netns add gadget

# Put device eth0 in gadget namespace
ip link set eth0 netns gadget

# Configure network in gadget namespace
# # Bring up ifaces
ip netns exec gadget ip link set lo up
ip netns exec gadget ip link set eth0 up

# # 10.0.0.0/24 address on eth0 
ip netns exec gadget ip address add 10.0.0.1/24 dev eth0

# Now gadget pinging should work...
ip netns exec gadget ping 10.0.0.2

관련 정보