Титла: NETMAP проблем Публикувано от: BuSteR в 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 Код: ping -I macvlan0 dir.bg Код: ip r show table Т1 Код: ip r show table main |grep eth1 Добавям следните правила за 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 И от IP 192.168.0.40 нямам никаква връзка с интернет, имам пинг към локалния gw (192.168.0.1). Предполагам, че проблема е някъде из default routing-а, но нещо не мога да го реша сам....или бъркам генерално нещо? Титла: Re: NETMAP проблем Публикувано от: Mitaka в 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 Титла: Re: NETMAP проблем Публикувано от: BuSteR в Nov 30, 2012, 21:07 Ами да колега пуснал съм го разбира се .... имам чустото, че тази дисрибуция която ползвам Gentoo има някакъв проблем със 2 default gataway-а и винаги се обръща към този зададен в main таблицата eth1 в случая, мисля си за split access, но аз не искам да правя load balancing.
Титла: Re: NETMAP проблем Публикувано от: Mitaka в 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 Титла: Re: NETMAP проблем Публикувано от: BuSteR в 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 така тръгна само, че с -A, но тест от вън за отворен порт на машината, на която съм (192.168.0.40) показва, че е затворен, да не би да трябва да цъкна proxyarp? Титла: Re: NETMAP проблем Публикувано от: Mitaka в Dec 01, 2012, 02:37 Да, -A трябва да е... пф, така е като пиша по това време на денонощието :)
Титла: Re: NETMAP проблем Публикувано от: BuSteR в Dec 02, 2012, 19:43 Забравих да кажа,че разнищих нещата....Всъщност за тези, които имат същия проблем да map-нат не цяла мрежа, а само едно IP това е работещия вариант:
Код: iptables -t nat -A PREROUTING -d 17х.12.54.хх -j NETMAP --to 192.168.0.40 където 17х.12.54.ххx е външното IP. |