BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> NFTABLES redirect 80 to 8080
Bender
Публикувано на: 07-10-2017, 13:47
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4724
Регистриран на: 19.06.14



Някой от вас разцъквал ли е nftables ? Имам

CODE
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
 chain input {
   type filter hook input priority 0; policy drop

   # disable icmp/icmp-v6
   # ip protocol icmp drop
   # ip6 nexthdr icmpv6 drop

   # established/related connections
   ct state established,related accept

   # invalid connections
   ct state invalid drop

   # loopback interface
   iifname lo accept

   # Allow SSH, HTTP
   tcp dport {ssh, http} accept

   # Allow torrents
   tcp dport 16000-16010 accept
   udp dport 16000-16010 accept

   # accept neighbour discovery otherwise IPv6 connectivity breaks.
   ip6 nexthdr icmpv6 icmpv6 type { nd-neighbor-solicit,  nd-router-advert, nd-neighbor-advert } accept

   # cound & log any dropped connections
   counter log drop
 }
 chain forward {
   type filter hook forward priority 0;
 }
 chain output {
   type filter hook output priority 0;
 }
}

table ip nat-ipv4 {
 chain prerouting {
   type nat hook prerouting priority 0;
   tcp dport 80 counter redirect to 8080
 }
 chain postrouting {
   type nat hook postrouting priority 100;
 }
}

table ip6 nat-ipv6 {
 chain prerouting {
   type nat hook prerouting priority 0;
   tcp dport 80 counter redirect to 8080
 }
 chain postrouting {
   type nat hook postrouting priority 100;
 }
}


Обаче като направя един % curl 192.168.0.10:80 Получавам:

CODE
curl: (7) Failed to connect to 192.168.0.10 port 80: Отказано свързване


Но в същото време виждам че рула се изпълнява:
CODE

nft list ruleset
table ip nat-ipv4 {
      chain prerouting {
            type nat hook prerouting priority 0; policy accept;
            tcp dport http [SIZE=7]counter packets 23 bytes 1380 [/SIZE]redirect to :http-alt
      }

      chain postrouting {
            type nat hook postrouting priority 100; policy accept;
      }
}
table ip6 nat-ipv6 {
      chain prerouting {
            type nat hook prerouting priority 0; policy accept;
            tcp dport http counter packets 0 bytes 0 redirect to :http-alt
      }

      chain postrouting {
            type nat hook postrouting priority 100; policy accept;
      }
}
table inet filter {
      chain input {
            type filter hook input priority 0; policy drop;
            ct state established,related accept
            ct state invalid drop
            iifname "lo" accept
            tcp dport { ssh, http} accept
            tcp dport 16000-16010 accept
            udp dport 16000-16010 accept
            icmpv6 type { nd-neighbor-advert, nd-neighbor-solicit, nd-router-advert} accept
            counter packets 22 bytes 3740 log drop
      }

      chain forward {
            type filter hook forward priority 0; policy accept;
      }

      chain output {
            type filter hook output priority 0; policy accept;
      }
}


Някаква идея къде бъркам


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
rvc
Публикувано на: 07-10-2017, 21:40
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2453
Регистриран на: 13.05.11



пуснал ли си "услуга" която да "слуша" на съответния порт?
примерно апач уеб сървъра освен на порт 80 да слуша и на порт 8080

Това мнение е било редактирано от rvc на 07-10-2017, 21:41
PMEmail PosterUsers Website
Top
gat3way
Публикувано на: 07-10-2017, 21:55
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1597
Регистриран на: 22.06.12



Направил си сигурно най-честата грешка при dnat-ване на трафик, тествал си го от същия хост. Това не минава през prerouting изобщо (тези 23 пакета не знам как се се озовали там, ама не са твоите). Сложи dnat-а го на output (ама в nat таблицата, не във filter) и тогава ще стане.
PMEmail Poster
Top
Bender
Публикувано на: 07-10-2017, 22:53
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4724
Регистриран на: 19.06.14



QUOTE (gat3way @ 07-10-2017, 22:55)
Направил си сигурно най-честата грешка при dnat-ване на трафик, тествал си го от същия хост. Това не минава през prerouting изобщо (тези 23 пакета не знам как се се озовали там, ама не са твоите). Сложи dnat-а го на output (ама в nat таблицата, не във filter) и тогава ще стане.

мда, това беше, като го тествах през пс4ката е ок icon_smile.gif

Но иначе онзи брояч за пакетите се увеличаваше като цъках с кърла

Това мнение е било редактирано от Bender на 07-10-2017, 22:53


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
gat3way
Публикувано на: 07-10-2017, 23:38
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1597
Регистриран на: 22.06.12



Ами странно е, но нямам идея на какво се дължи, вероятно с някой снифър ще видиш какво откъде се появява и защо, а иначе диаграма като тази е много полезна (виждал съм и по-хубави, ама нещо не мога да ги открия в момента):

user posted image
PMEmail Poster
Top
thrawn
Публикувано на: 08-10-2017, 06:17
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 978
Регистриран на: 17.01.17



QUOTE (gat3way @ 07-10-2017, 22:55)
Направил си сигурно най-честата грешка при dnat-ване на трафик, тествал си го от същия хост. Това не минава през prerouting изобщо (тези 23 пакета не знам как се се озовали там, ама не са твоите). Сложи dnat-а го на output (ама в nat таблицата, не във filter) и тогава ще стане.

Как да не минава? Мина си през всичко. Грешката за която говориш касае интерфейсите. Заявките вътре в системата ползват loopback интерфейсът а обикновено се посочва и входящ/изходящ интерфейс при тия правила от където идав проблемът с вътршния трафик.

Това мнение е било редактирано от thrawn на 08-10-2017, 06:24
PMEmail Poster
Top
gat3way
Публикувано на: 08-10-2017, 11:08
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1597
Регистриран на: 22.06.12



Тц, и да направиш второ правило в прерутинга да го изкараш изрично през loopback интерфейса, пак няма да мине.
PMEmail Poster
Top
thrawn
Публикувано на: 08-10-2017, 11:45
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 978
Регистриран на: 17.01.17



Искаш да кажеш, че port forward няма как да работи локално?
Бъркаш се с forward таблицата или с нещо друго, но бъркаш. Утре като стигна в офиса ще ти го демонстрирам с iptables.
PMEmail Poster
Top
gat3way
Публикувано на: 08-10-2017, 12:39
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1597
Регистриран на: 22.06.12



Не, искам да кажа че ако искаш да го правиш "локално", не слагаш dnat правилото на prerouting-а, локално генерирания трафик не минава изобщо през него и съответно няма как да сработи.
PMEmail Poster
Top
thrawn
Публикувано на: 08-10-2017, 13:22
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 978
Регистриран на: 17.01.17



Как да не минава бе човек. Погледни диаграмата която си дал. Входът е само един. Чак след PREROUTING се определя на къде да хване пакетът - локално или през FORWARD веригите.

DNAT e просто модул за пренаписване на пакетите и няма отношение към самите вериги. Той има отношение към това какво можеш да промениш в пакетът.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0