AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 427828
Accepted
UXELDUXEL
UXELDUXEL
Asked: 2018-03-03 17:37:03 +0800 CST2018-03-03 17:37:03 +0800 CST 2018-03-03 17:37:03 +0800 CST

Encaminhamento Iptables NAT / Kernel IP limitado a ~ 10Mbit

  • 772

No momento, estou configurando meu roteador iot e encontrei alguns problemas em relação à velocidade de conexão. O próprio roteador é um roteador em cascata. A velocidade da minha Internet é de 100Mbit, que verifiquei conectando-me diretamente ao roteador principal por meio do teste de velocidade. No entanto, se eu conectá-lo através do meu roteador em cascata, só obtenho uma velocidade de conexão entre 10-18Mbit. Acho que o encaminhamento de IP do Kernel ou o NAT do Iptables provavelmente estão configurados incorretamente.

O sistema operacional é Debian 8 Kernel versão 3.4 (Bananian Linux)
O roteador em si é um Banana PI BPI R1
Iptables está executando a versão v1.4.21

Os comandos relevantes que executei para configurar minha rede são

iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0.101 -j MASQUERADE

(eth0.101 é a interface de saída conectada ao roteador principal.)

encaminhamento de ip habilitado via systemctl
ipv6 fica totalmente desabilitado
pois a placa de rede do roteador usa um switch interno, tenho que usar vlans para separar a "lan" da "wan" consigo isso via ferramenta swconfig

swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 101 set ports '3 8t'
swconfig dev eth0 vlan 102 set ports '4 0 1 2 8t'
swconfig dev eth0 set apply 1

Por que eu acho que este é o NAT/Forwarding? Meu primeiro pensamento foi, bem, minha placa de rede não é capaz de velocidades mais altas, embora diga que é. Porém para confirmar isso rodei um proxy meias5 no meu roteador e desativei o encaminhamento de IP para o teste, ao rodar um speedtest via proxy meias5 consegui atingir os 100Mbit o que me faz concluir que não é minha placa de rede que está dando gargalo nisso .

Eu tentei algumas coisas, incluindo aumentar o tamanho das filas de pacotes para minhas interfaces VLAN, pois eram zero, isso não mudou nada.

Eu também não acho que a CPU do meu roteador seja muito fraca para rodar isso, porque porque ela seria forte o suficiente para trabalhar com um proxy sockets5 genérico e muito fraca para trabalhar com iptables?

Aqui está uma saída de ifconfig:

eth0      Link encap:Ethernet  HWaddr 02:07:0b:02:15:ac
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:370503 errors:0 dropped:0 overruns:0 frame:0
          TX packets:365330 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:310436570 (296.0 MiB)  TX bytes:308685327 (294.3 MiB)
          Interrupt:117 Base address:0xc000

eth0.101  Link encap:Ethernet  HWaddr 02:07:0b:02:15:ac
          inet addr:192.168.178.2  Bcast:192.168.178.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:209032 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171418 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:203959632 (194.5 MiB)  TX bytes:102579119 (97.8 MiB)

eth0.102  Link encap:Ethernet  HWaddr 02:07:0b:02:15:ac
          inet addr:10.8.0.1  Bcast:10.8.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:161471 errors:0 dropped:0 overruns:0 frame:0
          TX packets:193912 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:99807884 (95.1 MiB)  TX bytes:204644888 (195.1 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

bem como /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0.101
iface eth0.101 inet static
        address 192.168.178.2
        network 192.168.178.0
        netmask 255.255.255.0
        gateway 192.168.178.1
        nameserver 8.8.8.8

auto eth0.102
iface eth0.102 inet static
        address 10.8.0.1
        network 10.8.0.0
        netmask 255.255.255.0

Qualquer ideia seria muito apreciada.

networking iptables
  • 1 1 respostas
  • 1023 Views

1 respostas

  • Voted
  1. Best Answer
    Rui F Ribeiro
    2018-03-04T03:17:44+08:002018-03-04T03:17:44+08:00

    O Banana R1/Lamobo R1, embora seja uma peça de hardware interessante, tem muitas deficiências.

    Em primeiro lugar, a largura de banda da interface interna do "switch" é compartilhada. Um máximo teórico de 1 GBps para todas as 5 portas compartilhadas; a velocidade oficial que as pessoas conseguiram obter por interface é de cerca de 300Mbit.

    Em segundo lugar, ele deve ser configurado para isso, na árvore de dispositivos (sobreposições?) Pelo sistema operacional usado - não consigo lembrar os detalhes específicos. Caso contrário, será lento.

    Bananian Linux é um hack feio, não funciona bem, vai te dar problemas, e pode não configurar bem o seu switch gigabit. Além disso, o Bananian é oficialmente um projeto obsoleto desde o final do primeiro trimestre de 2017, e as atualizações de segurança para ele deixarão de aparecer em alguns meses.

    Usei o R1 com Armbian por um tempo; funcionou bem. Também cortei fisicamente o wifi realtek dele, só criava instabilidade mesmo quando não estava sendo usado.

    Você também pode ter problemas de energia com discos rígidos mecânicos; Eu usei um SSD.

    Como recomendação, pare de usar o Bananian e experimente o ArmBian. Cuidado, a interface do switch é diferente no Armbian, pois usa um kernel 4.x mais recente.

    Por fim, nem perca tempo experimentando a versão OpenWRT para R1. É um trabalho mal feito e cheio de hacks para contornar o grande firewall da China.

    Deixando agora as considerações específicas do R1 e indo para o lado do roteamento, uma otimização que pode ser feita na maioria dos roteadores ISP de nível de consumidor é configurar uma porta com ponte e conectar seu R1 lá. Assim, sua interface externa receberá um endereço IP público e seu NAT não terá novamente um NAT duplo do ISP. (estou fazendo o mesmo aqui)

    PS Para os leitores que vêm aqui. O R1/R1S não vale o seu tempo e dinheiro, em vez disso, obtenha um roteador AP que pode ser hackeado com o OpenWRT.

    • 3

relate perguntas

  • Pergunta sobre arquivos montados em rede

  • Um endereço IP pode terminar em 255 e não ser um endereço IP de transmissão?

  • Como fazer todo o tráfego passar por uma interface no Linux

  • Incapaz de identificar qual saída de endereço MAC do comando arp ou comando ip está correta

  • Roteador estranho funciona com centos 6 [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve