Добрый день.
Что то сегодня все из рук валится, подскажите, ткните носом в ошибку, уже запарился ловить ее.
Есть.
Подсеть белых IP x.x.x.56/29 GW x.x.x.57
Весь трафик ходит исключительно через шлюз
Внешний интерфейс vl999 c IP x.x.x.60/29
Внутренний интерфейс vl120 без IP
в этом интерфейсе живет комп с белым IP x.x.x.62/29 GW x.x.x.57
Необходимо организовать маршрутизацию для компа x.x.x.62/29 во внешний мир и обратно.
Делаю
ip link add link eth0 name vl999 type vlan id 999
ip addr add x.x.x.60/29 dev vl999
ip link set vl999 up
ip route add default via x.x.x.57
ip link add link eth0 name vl120 type vlan id 120
ip link set vl120 up
echo "120 ip" >> /etc/iproute2/rt_tables
ip route add x.x.x.62 dev vl120 table ip
ip route add x.x.x.60 dev vl999 table ip
ip route add x.x.x.57 dev vl999 table ip
ip route add default via x.x.x.57 table ip
ip rule add to x.x.x.62 table ip
ip rule add from x.x.x.62 table ip
echo 1 > /proc/sys/net/ipv4/conf/vl999/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vl120/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vl999/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/vl120/proxy_arp
echo 0 > /proc/sys/net/ipv4/conf/vl999/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/vl120/rp_filter
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
Тестировал так: запускал ping 8.8.8.8 на машине во vl120 (IP x.x.x.62/29 GW x.x.x.57)
При этом пакеты до 8.8.8.8 доходят корректно, возвращается корректный ответ, но шлюз его не пропускает.
Самое удивительное, что пакет не видно даже с цепочке PREROUTING!!! Хотя на интерфейс он попадает
tcpdump -i vl999 icmp and src host 8.8.8.8 -n -nn[br]
16:33:01.018313 IP 8.8.8.8 > x.x.x.62: ICMP echo reply, id 512, seq 7683, length 40
iptables -A PREROUTING -t mangle -s 8.8.8.8 -j ACCEPT
Подскажите как такое может быть??? Где я накосячил???