Автор Тема: NETMAP проблем  (Прочетена 1247 пъти)

BuSteR

  • Напреднали
  • *****
  • Публикации: 26
    • Профил
NETMAP проблем
« -: Nov 30, 2012, 20:27 »
Здравейте,
сблъсках се със следния проблем 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-а, но нещо не мога да го реша сам....или бъркам генерално нещо?
« Последна редакция: Nov 30, 2012, 20:32 от BuSteR »
Активен

Mitaka

  • Гост
Re: NETMAP проблем
« Отговор #1 -: Nov 30, 2012, 21:02 »
А пуснал ли си ip forwarding-a? Тове нещо доста често се забравя :)

cat /proc/sys/net/ipv4/ip_forward

Ако резултата е 0, трябва да го смениш с 1, за да работи.

За да има нат, трябва да е 1:

echo "1" > /proc/sys/net/ipv4/ip_forward

И за да стае постоянно:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
Активен

BuSteR

  • Напреднали
  • *****
  • Публикации: 26
    • Профил
Re: NETMAP проблем
« Отговор #2 -: Nov 30, 2012, 21:07 »
Ами да колега пуснал съм го разбира се .... имам чустото, че тази дисрибуция която ползвам Gentoo има някакъв проблем със 2 default gataway-а и винаги се обръща към този зададен в main таблицата eth1 в случая, мисля си за split access, но аз не искам да правя load balancing.
Активен

Mitaka

  • Гост
Re: NETMAP проблем
« Отговор #3 -: Dec 01, 2012, 01:11 »
Едното от правилата ти би трябвало да е в POSTROUTING веригата:


iptables -t nat -D POSTROUTING -i eth0 -s 192.168.0.40 -j NETMAP --to 17x.12.54.xxx
iptables -t nat -D PREROUTING -i macvlan0 -s 17x.12.54.xxx -j NETMAP --to  192.168.0.40


Активен

BuSteR

  • Напреднали
  • *****
  • Публикации: 26
    • Профил
Re: NETMAP проблем
« Отговор #4 -: Dec 01, 2012, 01:21 »
Имам напредък - оправих си routing таблицата, и подакарах със SNAT ip 192.168.0.40 да излиза през gw-a на 2-я IP адрес, но още ме мъчи NETMAP-а ....сега ще видя ако сменя веригата дали ще сработи...

Цитат
iptables -t nat -D POSTROUTING -i eth0 -s 192.168.0.40 -j NETMAP --to 17x.12.54.xxx
iptables -t nat -D PREROUTING -i macvlan0 -s 17x.12.54.xxx -j NETMAP --to  192.168.0.40

така тръгна само, че с -A, но тест от вън за отворен порт на машината, на която съм (192.168.0.40) показва, че е затворен, да не би да трябва да цъкна proxyarp?
« Последна редакция: Dec 01, 2012, 01:40 от BuSteR »
Активен

Mitaka

  • Гост
Re: NETMAP проблем
« Отговор #5 -: Dec 01, 2012, 02:37 »
Да, -A трябва да е... пф, така е като пиша по това време на денонощието :)
Активен

BuSteR

  • Напреднали
  • *****
  • Публикации: 26
    • Профил
Re: NETMAP проблем
« Отговор #6 -: Dec 02, 2012, 19:43 »
Забравих да кажа,че разнищих нещата....Всъщност за тези, които имат същия проблем да map-нат не цяла мрежа, а само едно IP това е работещия вариант:

Код:
iptables -t nat -A PREROUTING -d 17х.12.54.хх -j NETMAP --to 192.168.0.40
iptables -t nat -A POSTROUTING -s 192.168.0.40 -j NETMAP --to 17х.12.54.ххх

където 17х.12.54.ххx е външното IP.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
NETMAP проблем
Хардуерни и софтуерни проблеми
Mitaka 3 945 Последна публикация Aug 18, 2011, 18:16
от Mitaka