tôi có một issabel Linux (dựa trên Centos 7) với 3 mạng, và tôi muốn kịch bản này:
eth0 với IP 172.16.3.30/16 ----gw(172.16.0.1)----> (Tôi muốn sử dụng làm Cổng mặc định)
eth1 với IP 10.1.5.102/30 -----gw(10.1.5.101)----> (đánh dấu kết nối tới 10.10.10.10:5160 để gửi qua 10.1.5.101 với src riêng(10.1.5.102))
eth2 với IP 10.1.5.106/30 -----gw(10.1.5.105)----> (đánh dấu kết nối tới 10.10.10.10:5161 để gửi qua 10.1.5.101 với src riêng(10.1.5.106))
chú ý: có cùng một địa chỉ đích! (10.10.10.10 nhưng khác cổng)
Tôi đang sử dụng mã này:
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5160 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5161 -j MARK --set-mark 2
tiếng vang 100 sip102 >> /etc/iproute2/rt_tables
tiếng vang 101 sip106 >> /etc/iproute2/rt_tables
tuyến ip thêm bảng dev eth1 mặc định sip102
tuyến ip thêm bảng dev eth2 mặc định sip106
thêm quy tắc ip từ tất cả fwmark 1 bảng sip102
thêm quy tắc ip từ tất cả bảng fwmark 2 sip106
Nhưng SIP Trunks không thể được kết nối. (Tôi đã thay đổi hai dòng đầu tiên thành -A PREROUTING nhưng không bị ảnh hưởng)
Khi tôi đang cố kiểm tra lộ trình của bảng mà không đánh dấu bằng điều này:
quy tắc ip thêm vào bảng 10.10.10.10 sip102
Tôi thấy một đường trục SIP được kết nối (10.1.5.102 > 10.10.10.10:5160 Connected)