Configurando o roteador Ubuntu Server na VM usando Netplan, Shorewall e DNSMasq - não é possível acessar a Internet da rede interna

2

Atualmente, estou criando uma rede baseada no Ubuntu Server.

Ele é implementado como VM no VirtualBox e se parece com isso:

  1. Ubuntu Server - 3 interfaces de rede. 1º - enp0s3 , conexão com a internet. 2ª - enp0s9 , room_two - rede interna do VBox.
  2. Estação de trabalho ArchLinux - 1 interface de rede, enp0s3 , conectada a room_two .

O que eu quero alcançar: Roteamento de servidor de enp0s3 para room_two rede interna.

O que eu já fiz:

# /etc/netplan/50-cloud-init.yaml

network:
ethernets:
    enp0s3:
        addresses: []
        dhcp4: true
    enp0s8:
        addresses: [192.168.1.1/16]
        dhcp4: false
version: 2

Configuração Shorewall para dois roteadores de interface.

/etc/shorewall/zones

#ZONE   TYPE    OPTIONS                 IN                      OUT
#                                       OPTIONS                 OPTIONS
fw      firewall
net     ipv4
loc     ipv4

/etc/shorewall/rules

#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK    CONNLIMIT       TIME            HEADERS         SWITCH          HELPER
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
?SECTION ALL
?SECTION ESTABLISHED
?SECTION RELATED
?SECTION INVALID
?SECTION UNTRACKED
?SECTION NEW

#       Don't allow connection pickup from the net
#
Invalid(DROP)   net             all             tcp
#
#       Accept DNS connections from the firewall to the network
#
DNS(ACCEPT)     $FW             net
DNS(ACCEPT)     loc             $FW
#
#       Accept SSH connections from the local network for administration
#
SSH(ACCEPT)     loc             $FW
SSH(ACCEPT)     net             $FW
#
#       Allow Ping from the local network
#
Ping(ACCEPT)    loc             $FW
Ping(ACCEPT)    $FW             loc

#
# Drop Ping from the "bad" net zone.. and prevent your log from being flooded..
#

Ping(DROP)      net             $FW

ACCEPT          $FW             loc             icmp
ACCEPT          $FW             net             icmp
#

/etc/shorewall/policy

#SOURCE DEST            POLICY          LOGLEVEL        RATE    CONNLIMIT

$FW     net             ACCEPT
loc     net             ACCEPT
net     all             DROP            $LOG_LEVEL
# THE FOLOWING POLICY MUST BE LAST
all     all             REJECT          $LOG_LEVEL

/etc/shorewall/interfaces

#ZONE   INTERFACE       OPTIONS
net     NET_IF          dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0,physical=enp0s3
loc     LOC_IF          dhcp,tcpflags,nosmurfs,routefilter,logmartians,physical=enp0s8

/etc/shorewall/snat

# Rules generated from masq file /home/teastep/shorewall/trunk/Shorewall/Samples/two-interfaces/masq by Shorewall 5.0.13-RC1 - Sat Oct 15 11:41:40 PDT 2016
#
MASQUERADE              10.0.0.0/8,\
                        169.254.0.0/16,\
                        172.16.0.0/12,\
                        192.168.0.0/16          NET_IF

Meu servidor Ubuntu funciona bem, as solicitações de DNS são armazenadas em cache e eu posso acessar a Internet. No meu cliente ArchLinux eu recebo um endereço IP do servidor DHCP e quando eu 'ping google.com' eu recebo o endereço IP correto, mas recebo 100% de perda de pacotes. Onde devo procurar informações e que tipo? O que posso ter feito de errado? Não há muitos recursos sobre a configuração do Shorewall + Netplan, pois o último é bem novo.

    
por Franek Madej 01.10.2018 / 12:39

1 resposta

0

Eu encontrei a solução em /etc/sysctl.conf : net.ipv4.ip_forward=1

Agora tudo funciona perfeitamente!

    
por 01.10.2018 / 14:45