두 네트워크 사이에 브리지를 구축하는 방법은 무엇입니까?

두 네트워크 사이에 브리지를 구축하는 방법은 무엇입니까?

비글본을 사용하세요.

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

네트워크 구성에서 , networknetmask구성 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.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) 연결 상태 확인의 일부로 인터넷 연결을 테스트합니다.

관련 정보