web-dev-qa-db-ja.com

GREトンネルのIPoverDHCPを取得する

クライアントからサーバーへのGREトンネルを作成する必要があります。これが私の設定です。

セットアップ:

________________________________      _________________________________      ______________________________
|Server |                      |      |Router |                       |      |Client |                    |
|--------                      |      |--------                       |      |--------                    |
|      wan (244.244.244.1/24) -|------|- wan (244.244.244.20/24)      |      |                            |
|                              |      |                               |      |                            |
|                              |      |       lan (192.168.178.0/24) -|------|- lan (192.168.178.22/24)   |
|                              |      ---------------------------------      |                            |
|                              |                                             |                            |
|   to_client (10.10.10.1/24) -|---------------------------------------------|- to_server                 |
--------------------------------                                             ------------------------------

基本的には機能しますが、dhclientがこのタイプのインターフェースをサポートしていないため、クライアントの「to_server」トンネルインターフェースでIPを取得できません。 isc-dhcpパッケージはそれをサポートしていないようです。私は通常、DHCPサーバーとしてisc-dhcp-serverを使用しますが、この特別なセットアップにはdnsmasqを使用する必要があります。

$ dhclient -v to_server
Unsupported device type 778 for "to_server"

DHCPサーバーからIPを要求する他の方法/プログラムはありますか

ここから最後までの追加情報:

サーバーとクライアントはどちらもdebianjessieを実行しているLXContainerであり、これらのコンテナーのホストはUbuntu16.04です。ルーターには、「公開されたホスト」としてクライアントのエントリがあります

奇妙なことに、サーバーのトンネルインターフェイスアドレスにpingを実行できます。

$ ping -c3 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_seq=1 ttl=63 time=1.38 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=63 time=0.703 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=63 time=0.784 ms

--- 10.10.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.703/0.957/1.386/0.306 ms

ifconfigサーバー(最小限に抑えられています)

wan       Link encap:Ethernet  Hardware Adresse d6:d1:57:b5:a9:47  
          inet Adresse:244.244.244.1  Bcast:0.0.0.0  Maske:255.255.255.0
          inet6-Adresse: fe80::d4d1:57ff:feb5:a947/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

to_client Link encap:UNSPEC  Hardware Adresse F4-F4-F4-01-30-30-3A-30-00-00-00-00-00-00-00-00  
          inet Adresse:10.10.10.1  P-z-P:10.10.10.1  Maske:255.255.255.0
          UP PUNKTZUPUNKT RUNNING NOARP  MTU:1476  Metrik:1

ifconfigクライアント(最小限に抑えられています)

lan       Link encap:Ethernet  Hardware Adresse 82:63:16:cc:12:88  
          inet Adresse:192.168.178.22  Bcast:0.0.0.0  Maske:255.255.255.0
          inet6-Adresse: fe80::8063:16ff:fecc:1288/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1

to_server Link encap:UNSPEC  Hardware Adresse C0-A8-B2-16-30-30-3A-30-00-00-00-00-00-00-00-00  
          UP PUNKTZUPUNKT RUNNING NOARP  MTU:1476  Metrik:1

トンネルインターフェース

$ ip tunnel show to_client
to_client: gre/ip  remote 244.244.244.20  local 244.244.244.1  ttl 255


$ ip tunnel show to_server
to_server: gre/ip  remote 244.244.244.1  local 192.168.178.22  ttl 255

dnsmasq.conf

# wan-network
dhcp-range=wan,244.244.244.25,244.244.244.30,2m
# tunnel-network
dhcp-range=to_client,10.10.10.2,10.10.10.10,2m

# netmask /24
dhcp-option=1,255.255.255.0

# this is the router
dhcp-Host=9c:c7:a6:XX:XX:XX,244.244.244.20,2m

# disable DNS
port=0
2
Kev Inski

ip tunnel show出力からわかるように、トンネルタイプはgre/ipであるため、レイヤー3トンネルです。

つまり、IPパケットしか送信できませんが、BOOTP(DHCPのプロトコル)は、そのタイプのリンクでは使用できないレイヤー2機能(ブロードキャストなど)を使用します。

Pingを実行できる理由を知るには、ip routeの出力を確認し、パスを「追跡」する必要があります。 TTLは63であるため、Clientから10.10.10.1へのパスにルーターが存在する必要があることに注意してください。

1
Enrico Polesel