2つのネットワーク間にブリッジを構築する方法は?

2つのネットワーク間にブリッジを構築する方法は?

ビーグルボーンを使用してください。

APを正常に設定しましたが、eth0とwlan1を接続できませんでした。

使用されるアプリケーション: Hostapd, dnsmasq, bridge-utils

/etc/dnsmasq.conf

interface=wlan1
dhcp-range=10.10.1.2,10.10.99.254,255.0.0.0,12h

/etc/hostapd/hostapd.conf

interface=wlan1
country_code=US
driver=nl80211
ssid=mySSID
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP
rsn_pairwise=CCMP
eapol_key_index_workaround=0

/etc/network/interfaces 今後セットブリッジ

auto lo eth0 eth0:1
iface lo inet loopback

iface eth0 inet static
  address 192.168.2.99
  netmask 255.255.255.0
  gateway 192.168.2.1
  dns-nameservers 8.8.8.8

iface eth0:1 inet static
  address 192.168.1.226
  netmask 255.255.255.0
  broadcast 192.168.1.255
  network 192.168.1.0
  gateway 192.168.1.1

auto usb0 wlan1
iface usb0 inet static
  address 192.168.7.2
  netmask 255.255.255.0
  network 192.168.7.0
  gateway 192.168.7.2

iface wlan1 inet static
  hostapd /etc/hostapd/hostapd.conf
  address 10.10.1.1
  network 10.10.1.0
  netmask 255.0.0.0
  broadcast 10.10.1.255
  wireless-power on

#dns-nameservers 8.8.8.8 8.8.4.4
up iptables-restore < /etc/network/iptables.rules

/etc/network/interfaces 後ろにセットブリッジ

auto lo eth0
iface lo inet loopback

iface eth0 inet manual

auto usb0 wlan1
iface usb0 inet static
  address 192.168.7.2
  netmask 255.255.255.0
  network 192.168.7.0
  gateway 192.168.7.2

iface wlan1 inet manual
  hostapd /etc/hostapd/hostapd.conf
  wireless-power on

iface br0 inet static
  bridge_ports eth0 wlan1
  address 10.10.1.1
  network 10.10.1.0
  netmask 255.0.0.0
  broadcast 10.10.1.255
  gateway 10.10.1.1

  pre-up iwconfig wlan1 essid mySSID
  bridge_hw xx:xx:xx:xx:xx:xx #mac address of wireless card

#dns-nameservers 8.8.8.8 8.8.4.4
up iptables-restore < /etc/network/iptables.rules

ネットワークに接続できますが、mySSID10.10.1.1にpingを送信できず、そこで実行されているサービスや他のデバイスに接続できません。 DHCPは前後に動作せず(マイナーな問題は後で修正しようとする可能性があります)、固定IPを設定して接続しました。

コマンド実行時に表示される内容です。sudo iptables --list

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:12347
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:12346
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:12345
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:webmin /* Allow connection to webmin */
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

/etc/network/iptables.rules文書

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [123:13390]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 12347-j ACCEPT
-A INPUT -p tcp -m tcp --dport 12346 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 12345-j ACCEPT
-A INPUT -p tcp -m tcp --dport 10000 -m comment --comment "Allow connection to webmin" -j ACCEPT
-A INPUT -j DROP
COMMIT

答え1

ネットワーク構成では、設定がnetwork一貫netmaskbroadcastていません...間違っています。

iface br0 inet static
   bridge_ports eth0 wlan1
   address 10.10.1.1
   network 10.10.1.0     <-------
   netmask 255.0.0.0     <-------
   broadcast 10.10.1.255 <-------
   gateway 10.10.1.1

ネットワークがブロードキャスト10.10.1.0である場合、10.10.1.255ネットマスクは必要です255.255.255.0

良い:

iface br0 inet static
   bridge_ports eth0 wlan1
   address 10.10.1.1
   network 10.10.1.0     
   netmask 255.255.255.0     
   broadcast 10.10.1.255 
   gateway 10.10.1.1

ここでは、次のようにdhcp-rangeする必要があります/etc/dnsmasq.conf

dhcp-range=10.10.1.2,10.10.1.254,255.255.255.0,12h

本当により多くのデバイスを望んでいて、より広いデバイスをnetmask意図した場合は間違ってbroadcast修正してください。

iface br0 inet static
   bridge_ports eth0 wlan1
   address 10.10.1.1
   network 10.10.1.0     
   netmask 255.0.0.0     
   broadcast 10.255.255.255 
   gateway 10.10.1.1

これには次のようなものがありdhcp-rangeます/etc/dnsmasq.conf

dhcp-range=10.10.1.2,10.255.255.254,255.0.0.0,12h

ブリッジネットワーキングも使用している場合、dnsmaskのインターフェイスも変更されます。

interface=br0

動作するようにルーティングするには、ネットマスク/ブロードキャストを変更するだけでなく、実行時にルーティングするようにカーネルに指示する必要があります。

sudo sysctl -w net.ipv4.ip_forward=1

再起動するたびに有効にするには、以下を編集して/etc/sysctl.conf追加します。

net.ipv4.ip_forward=1

一部のオペレーティングシステム(例:iOS)は、(Wi-Fi)接続ステータスチェックの一部としてインターネット接続をテストします。

関連情報