質問: netplan、shorewall、dnsmasqを使用してvm)でubuntuサーバールーターをセットアップする-内部ネットワークからインターネットにアクセスできない 私は現在、ubuntuサーバーに基づいてネットワークを作成しています。virtualboxではvm)として実装され、次のようになります。 ubuntuサーバー-3つのネットワークインターフェイス。 1日-enp0s3、インターネット接続。 2番目-enp0s9、room_two- vbox内部ネットワーク。 archlinuxワークステーション-1つのネットワークインターフェース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で解決策を見つけました今ではすべてが完璧に機能します!