私は現在、Ubuntuサーバーに基づいてネットワークを作成しています。
VirtualBoxではVM)として実装され、次のようになります。
enp0s3
、インターネット接続。 2番目-enp0s9
、room_two
- VBox内部ネットワーク。enp0s3
、room_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のセットアップについては、後者がまったく新しいため、それほど多くのリソースはありません。
/etc/sysctl.conf
:net.ipv4.ip_forward=1
で解決策を見つけました
今ではすべてが完璧に機能します!