내 Linux 라우터 설정에 대한 귀하의 의견을 듣고 싶습니다. 기본 ISP(기본 경로 테이블)와 특정 ISP(경로 테이블)가 있다고 가정해 보겠습니다 custom
. 기본 ISP가 활성화 eth0
되고 사용자 정의 ISP가 활성화됩니다 eth2
. 기본 경로의 경우 DHCP 및 빛나는 자동 경로이며 사용자 지정 경로는 다음과 같습니다.
# echo "4999 custom" >> /etc/iproute2/rt_tables
# ip addr eth2 10.x.y.z netmask 255.255.255.0
# ip -4 route add 0.0.0.0/0 via 10.20.30.40 table custom
# iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
이제 라우팅되는 모든 항목은 eth2
맞춤 ISP를 통과하게 됩니다. 좋은 결과. 내가 원하는 것은 특정 IP를 사용하여 가상 인터페이스(VETH? TAP? 모르겠습니다)를 생성하여 이를 LAN 클라이언트에 제공하고 이 사용자 지정 ISP를 통해 라우팅하는 것입니다. 또한 추적 경로 중에도 표시되기를 원합니다.
172.16.1.0/24
LAN에 네트워크 가 있습니다 . 내가 시도한 것:
# ip tuntap add name tap0 mode tap
# ip addr add 172.16.1.128 dev tap0
# ip rule add iif tap0 lookup custom
그러나 이것은 작동하지 않습니다. 클라이언트의 기본 게이트웨이로 지정하면 172.16.1.128
핑이 통과하지 않습니다. 내가 뭘 잘못했나요?
고쳐 쓰다:
초기 라우팅 규칙은 LAN이 eth1에 있으며, 이를 사용자 정의 ISP 연결을 테스트하는 데 사용합니다.
ip rule add iif eth1 lookup custom
fwmark 기반 규칙과 같은 것을 추가할 수 있다는 것을 알고 있지만 모든 어려운 작업(src nat)을 수행하려면 iptbles로 돌아가야 합니다. 이는 느리고 비효율적입니다.