構成の詳細

構成の詳細

Hetzner ネットワーク チームから、サブネットに属する仮想マシンに属する MAC アドレスを使用しないように求めるメールが届きました。

Xenサーバーホストをルーターとして構成しましたこのガイドを使う

さらに詳細を尋ねたところ、Hetzner サポートは、通常、ハイパーバイザーのネットワーク構成では、実際の NIC の MAC アドレスを持つパケットのみがシステムから出られるようにすべきであると回答しました。ただし、問題が見つからない場合は、IPtables を使用してそれらの送信パケットをブロックしてみてください。

そこで私たちの質問は:

Hetzner や他の専用サーバー プロバイダーでこのような問題に遭遇した方は、
どのように解決しましたか? iptables を使用してブロックするしか方法はありませんか?

ありがとう

構成の詳細

ホスト/ルーターの構成:

[root@xenserver-custom ~]# cat /etc/sysctl.conf

net.ipv4.ip_forward = 1  
net.ipv6.conf.all.forwarding=1

net.ipv4.conf.default.proxy_arp = 0  

net.ipv4.conf.all.send_redirects = 0  
net.ipv4.conf.default.send_redirects = 0  
net.ipv4.conf.lo.send_redirects = 0  
net.ipv4.conf.xenbr0.send_redirects = 0  

[root@xenserver-custom network-scripts]# ip addr add 85.91.107.177/28 dev xenbr0

[root@xenserver-custom ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 0c:c4:7a:e7:dc:33  txqueuelen 1000  (Ethernet)
        RX packets 4704816217  bytes 6002063739181 (5.4 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6294828922  bytes 7643975899027 (6.9 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 518545683  bytes 6322784653872 (5.7 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 518545683  bytes 6322784653872 (5.7 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vifxxxx

.....................

xenbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 115.35.61.184  netmask 255.255.255.192  broadcast 115.35.61.191
        ether 0c:c4:7a:e7:dc:33  txqueuelen 1  (Ethernet)
        RX packets 3070611738  bytes 8670969429554 (7.8 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2680055664  bytes 9822630727363 (8.9 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@xenserver-enginatics1 sysconfig]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
    link/ether 0c:c4:7a:e7:dc:33 brd ff:ff:ff:ff:ff:ff
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1
    link/ether 72:ab:90:89:cf:cb brd ff:ff:ff:ff:ff:ff
4: xenbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN qlen 1
    link/ether 0c:c4:7a:e7:dc:33 brd ff:ff:ff:ff:ff:ff
    inet 115.35.61.184/26 brd 115.35.61.191 scope global dynamic xenbr0
       valid_lft 37373sec preferred_lft 37373sec
    inet 85.91.107.177/28 scope global xenbr0
       valid_lft forever preferred_lft forever
31: vif15.0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 32
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
44: vif21.0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 32
    link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
..........

VMゲストの構成

[root@r1213a network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=85.91.107.184
PREFIX=28
GATEWAY=85.91.107.177
DNS1=213.133.98.98
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no

[root@r1213a network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr B6:8F:14:74:A6:B6
          inet addr:85.91.107.184  Bcast:85.91.107.191  Mask:255.255.255.240
          inet6 addr: fe80::b48f:14ff:fe74:a6b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27122939 errors:0 dropped:2 overruns:0 frame:0
          TX packets:2218911 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5404322465 (5.0 GiB)  TX bytes:1061055301 (1011.9 MiB)

[root@r1213a ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b6:8f:14:74:a6:b6 brd ff:ff:ff:ff:ff:ff
    inet 85.91.107.184/28 brd 85.91.107.191 scope global eth0
    inet6 fe80::b48f:14ff:fe74:a6b6/64 scope link
       valid_lft forever preferred_lft forever

[root@r1213a network-scripts]# ip route
default via 85.91.107.177 dev eth0
85.91.107.176/28 dev eth0  proto kernel  scope link  src 85.91.107.184

[root@r1213a network-scripts]# traceroute google.com
traceroute to google.com (172.217.18.110), 30 hops max, 60 byte packets
 1  xenserver.localdomain (85.91.107.177)  0.081 ms  0.029 ms  0.039 ms
 2  static.129.61.69.159.clients.your-server.de (159.69.61.129)  0.390 ms  0.410 ms  0.370 ms
 3  core22.fsn1.hetzner.com (213.239.245.121)  0.393 ms  0.416 ms  0.424 ms
 4  core0.fra.hetzner.com (213.239.252.33)  5.207 ms  5.184 ms core0.fra.hetzner.com (213.239.252.29)  5.049 ms
 5  72.14.218.94 (72.14.218.94)  5.273 ms  5.249 ms 72.14.218.176 (72.14.218.176)  4.990 ms
 6  108.170.251.193 (108.170.251.193)  5.139 ms *  5.019 ms
 7  209.85.241.75 (209.85.241.75)  5.834 ms 216.239.40.58 (216.239.40.58)  5.092 ms 172.253.64.119 (172.253.64.119)  5.707 ms
 8  108.170.251.144 (108.170.251.144)  15.292 ms zrh04s05-in-f110.1e100.net (172.217.18.110)  4.952 ms  4.903 ms

答え1

私もHetznerからのこれらのメールに直面しましたが、解決策を見つけることができました。

Hetzner では、専用サーバーで使用できる 2 種類の追加 IP アドレス (単一の IPv4 と IPv4 サブネット) があります。単一の IP ごとに MAC アドレスが取得され、その MAC を新しい VM インスタンスのネットワーク インターフェイスで使用する必要があります。追加のサブネットごとに、新しいネットワークを設定し、そのネットワークとeth0サーバーのデフォルト ネットワーク (に関連付けられている) 間のルーティングを設定する必要があります。

XenServer では、Linux コンソールを使用してこれを実行できます。

xe network-create name-label="Additional network" name-description="46.xx.yy.zz/28"

これにより、XenServer の新しいブリッジ (xapi0デフォルト) に接続された新しいネットワークが作成されます。次に、ネットワークの最初の使用可能な IP アドレス (ネットマスクに従って) をそのブリッジに割り当てます。

ip addr add 46.xx.yy.1/28 dev xapi0

これで、デフォルトのネットワークではなく、新しく作成されたネットワークに接続された自動生成された MAC を持つ新しい VM を追加できます。トラフィックは XenServer 内でスイッチングおよびルーティングされます。

この設定により、Hetzner ネットワーク チームから、許可された MAC のみがスイッチポートに表示されるという確認を得ました。

関連情報