web-dev-qa-db-ja.com

Netplan、Shorewall、DNSMasqを使用してVM)でUbuntuサーバールーターをセットアップする-内部ネットワークからインターネットにアクセスできない

私は現在、Ubuntuサーバーに基づいてネットワークを作成しています。

VirtualBoxではVM)として実装され、次のようになります。

  1. Ubuntuサーバー-3つのネットワークインターフェイス。 1日-enp0s3、インターネット接続。 2番目-enp0s9room_two- VBox内部ネットワーク。
  2. ArchLinuxワークステーション-1つのネットワークインターフェースenp0s3room_twoに接続。

私が達成したいこと:enp0s3からroom_two内部ネットワークへのサーバールーティング。

私がすでにしたこと:

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

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

2インターフェイスルーターのShorewallセットアップ。

/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

私のUbuntuサーバーは正常に動作し、DNS要求はキャッシュされ、インターネットにアクセスできます。 ArchLinuxクライアントでDHCPサーバーからIPアドレスを取得し、「google.comにpingを実行すると」適切なIPアドレスを取得しますが、100%のパケット損失が発生します。どこでどのような情報を探すべきですか?私は何を間違えたのでしょうか? Shorewall + Netplanのセットアップについては、後者がまったく新しいため、それほど多くのリソースはありません。

2
Franek Madej

/etc/sysctl.confnet.ipv4.ip_forward=1で解決策を見つけました

今ではすべてが完璧に機能します!

0
Franek Madej