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 / server / Perguntas / 1159581
Accepted
inference
inference
Asked: 2024-05-18 03:33:52 +0800 CST2024-05-18 03:33:52 +0800 CST 2024-05-18 03:33:52 +0800 CST

Configurando endereços IP estáticos roteados do ISP no roteador Linux

  • 772

Recebi 4 endereços IP estáticos do meu ISP em um plano de negócios que devem ser usados ​​em um roteador com Linux e configurados por meio do ipcomando. Meu ISP anterior me deu 4/32 endereços IP que simplesmente exigiam serem adicionados à interface WAN e funcionariam independentemente um do outro; no entanto, meu novo ISP me deu um bloco /30 "roteado" de 4 endereços IP.

Não consegui descobrir como adicionar esses endereços IP quando recebo error: nexthop has invalid gatewayou os endereços IP são adicionados, mas não consigo resolver nenhum endereço IP externo ou host de destino.

A configuração de rede do meu novo ISP é a seguinte:

  • WAN: 1.1.1.2/30
  • Portal: 1.1.1.1/30
  • Roteado: 1.1.1.4/30

Meu ISP afirma que o endereço do gateway pode não ser necessário e usar o endereço WAN como upstream. Meu roteador possui 2 NICs; 1 para LAN e 1 para WAN. Também estou usando iptablespara configurar o firewall.

Como esta configuração é configurada corretamente em um sistema Linux por meio do ipcomando?

linux-networking
  • 2 2 respostas
  • 87 Views

2 respostas

  • Voted
  1. Max
    2024-05-18T18:00:27+08:002024-05-18T18:00:27+08:00

    Para configurar seu roteador Linux com as informações de rede fornecidas, você precisará configurar a interface WAN com os endereços /30 fornecidos e, em seguida, rotear o bloco roteado /30 através dela.

    1: Configure a interface WAN

    sudo ip addr add 1.1.1.2/30 dev eth0
    sudo ip link set eth0 up
    

    Substitua eth0 pelo nome real da sua interface WAN.

    Adicione a rota padrão:

    Como o seu ISP mencionou que o gateway pode não ser necessário e o endereço WAN deve ser usado como upstream, vamos configurar a rota padrão usando o gateway fornecido:

    sudo ip route add default via 1.1.1.1 dev eth0
    

    2: Configure o bloco roteado Adicione o bloco roteado /30 à interface WAN:

    Você precisa garantir que esses endereços estejam disponíveis para uso. Isso envolve adicioná-los a uma interface fictícia ou simplesmente garantir que sejam roteados corretamente. Aqui, iremos adicioná-los diretamente à interface WAN para simplificar:

    sudo ip addr add 1.1.1.4/30 dev eth0
    

    Configure o roteamento para o bloco roteado:

    Se precisar rotear o tráfego desses endereços IP por meio da interface WAN, você precisará garantir que eles sejam roteados corretamente. Supondo que eth1 seja sua interface LAN:

    sudo ip route add 1.1.1.4/30 dev eth1
    

    3: Encaminhamento de IP e configuração de firewall Habilite o encaminhamento de IP:

    Para permitir que o roteador encaminhe pacotes entre interfaces, habilite o encaminhamento de IP:

    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    

    Para tornar essa alteração permanente, adicione ou modifique a seguinte linha em /etc/sysctl.conf:

    net.ipv4.ip_forward = 1
    

    Configure iptables para NAT e encaminhamento:

    Você precisa configurar o iptables para lidar com NAT (Network Address Translation) se estiver planejando compartilhar o bloco IP roteado com dispositivos em sua LAN:

    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state   ESTABLISHED,RELATED -j ACCEPT
    

    Verifique seu endereço IP e configuração de roteamento:

    ip addr show
    ip route show
    

    Faça ping em um endereço IP externo para garantir que seu roteamento esteja funcionando corretamente:

    ping 8.8.8.8
    

    Salve sua configuração:

    Certifique-se de salvar suas configurações de IP e roteamento usando seu gerenciador de rede ou criando scripts apropriados para serem executados na inicialização.

    Resumindo, aqui está um resumo do que fizemos:

    # Set up WAN interface
    sudo ip addr add 1.1.1.2/30 dev eth0
    sudo ip link set eth0 up
    sudo ip route add default via 1.1.1.1 dev eth0
    
    # Add routed block
    sudo ip addr add 1.1.1.4/30 dev eth0
    sudo ip route add 1.1.1.4/30 dev eth1
    
    # Enable IP forwarding
    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    sudo sysctl -w net.ipv4.ip_forward=1
    
    # Configure iptables for NAT and forwarding
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
    

    Esta configuração deve permitir que seu roteador Linux lide adequadamente com os endereços IP estáticos fornecidos e roteie o tráfego de maneira adequada.

    • 2
  2. Best Answer
    Max
    2024-05-20T16:39:41+08:002024-05-20T16:39:41+08:00

    Aqui está a resposta anterior um pouco refinada, deve funcionar:

    # Configure WAN interface
    sudo ip addr add 1.1.1.2/30 dev eth0
    sudo ip link set eth0 up
    
    # Optionally add routed IP addresses
    sudo ip addr add 1.1.1.4/32 dev eth0
    sudo ip addr add 1.1.1.5/32 dev eth0
    sudo ip addr add 1.1.1.6/32 dev eth0
    sudo ip addr add 1.1.1.7/32 dev eth0
    
    # Enable IP forwarding
    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    sudo sysctl -w net.ipv4.ip_forward=1
    
    # SNAT rules
    sudo iptables -t nat -A POSTROUTING -s 10.1.0.2/32 -o eth0 -j SNAT --to 1.1.1.4
    sudo iptables -t nat -A POSTROUTING -s 10.1.0.3/32 -o eth0 -j SNAT --to 1.1.1.5
    sudo iptables -t nat -A POSTROUTING -s 10.1.0.4/32 -o eth0 -j SNAT --to 1.1.1.6
    sudo iptables -t nat -A POSTROUTING -s 10.1.0.5/32 -o eth0 -j SNAT --to 1.1.1.7
    
    # DNAT rules
    sudo iptables -t nat -A PREROUTING -d 1.1.1.4 -j DNAT --to-destination 10.1.0.2
    sudo iptables -t nat -A PREROUTING -d 1.1.1.5 -j DNAT --to-destination 10.1.0.3
    sudo iptables -t nat -A PREROUTING -d 1.1.1.6 -j DNAT --to-destination 10.1.0.4
    sudo iptables -t nat -A PREROUTING -d 1.1.1.7 -j DNAT --to-destination 10.1.0.5
    
    # Forwarding rules
    sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o eth1 -d 10.1.0.0/24 -j ACCEPT
    
    # Save iptables configuration (adjust based on your distribution)
    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    

    Espero que ajude, deve funcionar.

    • 0

relate perguntas

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 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