Здравейте,
сблъсках се със следния проблем ISP-то ми раздава 5 реални IP адреса по DHCP едния се ползва за NAT на мрежа 192.168.0.0/24 като за целта позлвам и ipset, ipmark (Flattc пакета - работи перфектно) и едно SNAT правило $IPT -t nat -A POSTROUTING -o $EXT_IF1 -j SNAT --to $EXT_IP,
-вдигам macvlan интерфейс на картата свързана към ISP-то
-взимам си адреса с dhcpcd
-добавям рутинг таблица (T1 примерно) за новия IP адрес и 2 default gw
*до тук всичко е ок, имам ping през macvlan интерфейса имам и traceroute до 2-я gw
Проблема е, че река ли да map-на моето IP да кажем (192.168.0.40) към новия IP адрес то от вътрешната мрежа нито имам ping до външни адреси нито traceroute-а работи - абе кто цяло няма интернет
. Ако променя във FLattc външния интерфейс с новия интерфейс "macvlan0" и прекарам всички локални IP-та през него с 2 default гейта - нямам интернет в локалната мрежа през новия интерфейс, изтрия ли default gw-а за 1-я интерфейс и интернета тръгва, добавям вече 2 SNAT правила ест.
ip link add link eth1 name macvlan0 address 00:33:44:2a:3b:01 type macvlan
ip link set up macvlan0
ip route add 17x.12.48.0/21 dev macvlan0 src 17x.12.54.xxx table T1
ip route add default via 17x.12.48.x dev macvlan0 table T1
ip rule add from 17x.12.54.xxx/32 table T1
ip rule add to 17x.12.54.xxx/32 table T1
Всичко работи от локалната машина:
ping -I macvlan0 dir.bg
PING dir.bg (194.145.63.12) from 17x.12.54.xxx macvlan0: 56(84) bytes of data.
64 bytes from dir.bg (194.145.63.12): icmp_req=1 ttl=61 time=8.16 ms
64 bytes from dir.bg (194.145.63.12): icmp_req=2 ttl=61 time=6.85 ms
traceroute to dir.bg (194.145.63.12), 30 hops max, 60 byte packets
1 xxxx 1.199 ms 1.425 ms 1.412 ms
2 xxxx 7.833 ms 7.813 ms 7.901 ms
3 xxxx 8.381 ms 8.565 ms 8.701 ms
4 dir.bg (194.145.63.12) 8.185 ms 8.171 ms 8.159 ms
ip r show table Т1
default via 17x.12.48.x dev macvlan0
17x.12.48.0/21 dev macvlan0 scope link src 17x.12.54.xxx
ip r show table main |grep eth1
default via 7x.83.32.x dev eth1 metric 204
7x.83.32.0/20 dev eth1 proto kernel scope link src 7x.83.38.xxx metric 204
Добавям следните правила за NETMAP към IP 192.168.0.40:
iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.40 -j NETMAP --to 17x.12.54.xxx
iptables -t nat -A PREROUTING -i macvlan0 -s 17x.12.54.xxx -j NETMAP --to 192.168.0.40
И от IP 192.168.0.40 нямам никаква връзка с интернет, имам пинг към локалния gw (192.168.0.1). Предполагам, че проблема е някъде из default routing-а, но нещо не мога да го реша сам....или бъркам генерално нещо?