Como rotear sub-redes VLAN para meu DSP ppp0

-1

Eu tenho uma conexão de fibra óptica através de um dispositivo Huawei ONT. (Eu não sei o modelo exato) O modo de dispositivo foi alterado para "modem" pelo ISP, então eu deveria conectar através de PPPoE. (Eu tenho nome de usuário e senha)

Quando testei com o Windows 7 x64, a conexão PPPoE funcionou perfeitamente.

Eu tenho 16.04.4 servidor LTS (Xenial Xerus) (sem GUI) com 3 conexões Ethernet:

  • eth0 - NIC onboard
  • eth1 - NIC onboard
  • wan0 - NIC PCI-X

O dispositivo ONT está conectado a "wan0" e a conexão PPPoE é configurada com "pppoeconf". "pppoeconf" criou uma interface "ppp0". A conexão PPP tem dois endereços IP: no lado público, há um IP público fixo (por exemplo, FIX.EDI.PAD.DRE.SSS) e, no lado privado, o endereço IP é 10.0.0.1/32.

No terminal do servidor Linux, pude fazer o ping em 8.8.8.8, google.com, navegar em qualquer site com o Lynx. E o servidor que permite conexões SSH da internet.

Assim, a conexão PPPoE funciona perfeitamente.

Este servidor está conectado a sub-redes através de NIC (s) "eth0", "eth1". As sub-redes são separadas logicamente pelas VLANs (eth0.11, eth1.22, eth1.33, ...)

Aqui está o conteúdo do arquivo "/ etc / network / interfaces":

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto wan0
iface wan0 inet dhcp

auto eth0.11
iface eth0.11 inet static
     address 10.1.0.1
     network 10.1.0.0
     netmask 255.255.0.0
     broadcast 10.1.255.255
     vlan-raw-device eth0

auto eth1.22
iface eth1.22 inet static
     address 10.2.0.1
     network 10.2.0.0
     netmask 255.255.0.0
     broadcast 10.2.255.255
     vlan-raw-device eth1

auto eth1.33
iface eth1.33 inet static
     address 10.3.0.1
     network 10.3.0.0
     netmask 255.255.0.0
     broadcast 10.3.255.255
     vlan-raw-device eth1

auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set wan0 up # line maintained by pppoeconf
provider dsl-provider

O último bloco ("auto dsl-provider ...") foi adicionado por "pppoeconf".

O servidor Linux fornece serviços DHCP, DNS, NTP para a máquina das sub-redes.

Existe uma máquina de teste do Windows 7 x64 configurada para usar a VLAN 33. Esta máquina obtém IP dinâmico do Linux no intervalo determinado. Eu poderia pingar apenas na sub-rede VLAN (33) e 10.3.0.1.

Eu não pude fazer o ping em 8.8.8.8, google.com ou qualquer outra coisa da (s) sub-rede (s) de VLANs, então basicamente não consigo acessar a internet

Existem alguns ipsables roules (o padrão é DROP), aqui estão algumas linhas relevantes:

$IPTABLES -N privnet_as_source_accept
$IPTABLES -A privnet_as_source_accept -i eth0.11 -j ACCEPT
$IPTABLES -A privnet_as_source_accept -i eth1.22 -j ACCEPT
$IPTABLES -A privnet_as_source_accept -i eth1.33 -j ACCEPT
$IPTABLES -A privnet_as_source_accept -j DROP

.
.
.

# Allow everything which is related to an earlier action
$IPTABLES -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# ICMP forward all subtype from private network to internet
$IPTABLES -A FORWARD -o ppp0 -p icmp -j privnet_as_source_accept

# SSH
$IPTABLES -A FORWARD -o ppp0 -p tcp --dport 22   -m conntrack --ctstate NEW -j privnet_as_source_accept

# whois
$IPTABLES -A FORWARD -o ppp0 -p udp --dport 43   -m conntrack --ctstate NEW -j privnet_as_source_accept
$IPTABLES -A FORWARD -o ppp0 -p tcp --dport 43   -m conntrack --ctstate NEW -j privnet_as_source_accept

# DNS
$IPTABLES -A FORWARD -o ppp0 -p udp --dport 53   -m conntrack --ctstate NEW -j privnet_as_source_accept
$IPTABLES -A FORWARD -o ppp0 -p tcp --dport 53   -m conntrack --ctstate NEW -j privnet_as_source_accept

# HTTP
$IPTABLES -A FORWARD -o ppp0 -p tcp --dport 80   -m conntrack --ctstate NEW -j privnet_as_source_accept

Saída de "route -vn":

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 ppp0
10.0.0.1        0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0.111
10.2.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth1.222
10.3.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth1.333

Do que sinto falta, por que não consigo acessar a Internet a partir de máquinas clientes em VLAN (s)?

    
por user2655928 24.03.2018 / 15:01

1 resposta

0

Você ativou o encaminhamento de IP?

Você pode verificar com o seguinte comando:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

Um valor retornado de 0 significa que o encaminhamento não está ativado, enquanto um valor de 1 significa que ele está ativado. Isso pode ser definido permanentemente no arquivo /etc/sysctl.conf. ipv4 e ipv6 possuem configurações separadas. Use o seguinte comando para recarregar o arquivo de configuração depois de fazer alterações:

# sysctl -p

Mais informações disponíveis aqui: Como posso definir minha caixa linux como roteador para encaminhar pacotes ip?

Também pode haver configurações específicas introduzidas com o systemd, mas eu não confirmei isso. Veja este link para mais informações: link

    
por Tim Savage 04.04.2018 / 15:35