web-dev-qa-db-ja.com

Linuxをワイヤレスルーターとして構成する(ワイヤレスカードを別のネットワーク上のAPとして構成する)?

Arch Linux、Zoneminder、およびFoscamFI9800PワイヤレスIPカメラのセットを使用して取り組んでいるカスタムビルドのホームセキュリティシステムがあります。

構築中のシステムにはギガビットイーサネットポートがあり、これを使用してプライマリホームネットワークに接続し、Zoneminder WebUIにアクセスします。また、プライマリネットワークから分離された完全に独立したワイヤレスネットワークをホストするために使用したいPCIeワイヤレスカードもあります。このネットワークは、プライマリネットワークでの帯域幅の使用を排除するためにIPカメラ専用に使用されます。

私が遭遇し、解決策を見つけることができないように思われる問題は、create_apを使用してアクセスポイントを確立できるが、それを別のネットワークにしたいということです。オンラインで検索したすべてのリソースは、アクセスポイントについてのみ説明しており、ワイヤレスルーターについては何も説明していません。 archwikiには、ルーターの作成(私がフォローした)とインターネット共有(ワイヤレスAPの詳細は説明していません)に関する記事がありますが、この状況では何も見つかりません。

LinuxベースのPCをワイヤレスルーターとして使用するためのドキュメントを参照したり、方法を詳しく説明したりするのに役立つ人はいますか?

[〜#〜] edit [〜#〜](説明のため)

それは主に私が情報を必要としているワイヤレスの側面です。私のネットワークには、ホームルーターとほぼ同じハードワイヤード構成でセットアップされた別のコンピューターがあります。この2つのイーサネットインターフェイスが金色で、ワイヤレスAPであり、問​​題が発生しているのです。

3
FatalKeystroke

これは実際にはあなたが思っているよりもはるかに簡単です。hostapddnsmasqをインストールしてデプロイする必要があります。

hostapd Wi-Fiインターフェースをアクセスポイントに変換します。これには、wifiカードがAPモードをサポートしているという前提条件があります。次のようにテストします。

iw list | less
  .....
software interface modes (can always be added):
             * AP/VLAN
             * monitor

APがその場所に表示された場合は、問題ありません。典型的なhostapd構成ファイル/ etc/hostapd/hostapd.confは、次のようになります。

interface=wlan0
driver=nl80211
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
country_code=US
ssid=MySSID
ieee80211d=1
channel=3
wpa=2
wpa_passphrase=MySuperSecretPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
ignore_broadcast_ssid=0
#logger_syslog=-1
#logger_syslog_level=2
#logger_stdout=-1
#logger_stdout_level=2

この構成ファイルには、ステートメントが含まれていませんnot

bridge=br0

lANの有線コンポーネントをセットアップする必要はなく、無線コンポーネントだけをセットアップすることを示したためです。ブリッジは通常、ルーターが有線クライアントと無線クライアントの両方に同じIPアドレスで表示されるようにし、ルーティングを簡素化するために使用されます。

Wi-FiにはIPアドレスが必要です。

ip addr add 192.168.251.1/24 dev wlan0 

およびIPv4転送により、wifiクライアントが世界と通信できるようになります。最後に、クライアントのDHCPおよびDNSサービスをセットアップするには、 dnsmasq をセットアップする必要があります。典型的な/ etc/dnsmasq.conf構成ファイルは次のようになります。

domain-needed
bogus-priv
dhcp-authoritative
no-dhcp-interface=eth0
interface=wlan0
server=/someremote.lan/192.168.1.1
local=/my.lan/
server=8.8.8.8
server=8.8.4.4
expand-hosts
domain=my.lan
dhcp-range=192.168.251.32,192.168.251.90,12h
dhcp-Host=AA:BB:CC:DD:EE:FF,SomeName,192.168.251.129,12h
dhcp-Host=00:11:22:33:44:55,hp-printer,192.168.251.210,12h
dhcp-option=119,my.lan,someremote.lan
dhcp-option=252,"\n"
dhcp-Host=AA:11:BB:22:CC:33,ignore
cname=SomeOtherName.my.lan,elastix

ここで、興味があるかもしれないし、興味がないかもしれないいくつかの機能を保持しました。

systemctlを介して両方のサービスを有効にし、起動時にWi-Fiカードにアドレスがあることを確認し、[〜#〜]マスカレード[〜#〜]インターネットに接続されたインターフェース上で、

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

そして、あなたは行ってもいいです。

2
MariusMatutiae

このため、私が間違っている場合は訂正してください。ただし、ネットワークとLinuxの動作を理解することに関しては、平均的なJoeよりも少しだけ知っているという前提で実行します。

また、これを正しく読んだ場合は、現在のネットワークカードを使用してアクセスポイントを作成できます(一部のワイヤレスカードはAPモードではなくADHOCしか実行できないため、メーカーとモデルを指定しませんでした)が、発生している唯一の問題はワイヤレスネットワークが他のすべてと同じネットワーク上にあることになります。

ワイヤレスインターフェイス用に別のネットワークを作成するのに役立つフォーラムを見つけました。これは有線インターフェイスについて説明していますが、ニーズに合わせて調整できると確信しています。

また、IPTablesを使用してファイアウォールルールを作成し、ネットワークとトラフィックフローを分離する方法を知っているかどうかはわかりません。この情報が必要な場合は、お知らせください。何かをまとめます。

私が見つけたフォーラムへのリンクは次のとおりです: http://www.linuxquestions.org/questions/linux-networking-3/setting-up-a-dhcp-server-with -multiple-network-interfaces-debian-648404 debianと表示されていても、dhcpサーバーはArchでもdebian/ubuntuと同じである必要があります。

フォーラムの内容の概要は次のとおりです。

投稿者/クレジット Srz0rz、オークランド、ニュージーランド

/etc/dhcp3/dhcpd.conf

##########################################
#####----- Global Configuration -----#####
##########################################
ddns-updates off;
option T150 code 150 = string;
deny client-updates;
#one-lease-per-client false;
#allow bootp;

ddns-update-style none;

option domain-name "vlan.local";
option domain-name-servers    210.56.15.1, 231.117.250.27;

default-lease-time 6000;
max-lease-time 7200;

authoritative;
##############################################
#####----- End Global Configuration -----#####
##############################################

###############################################
#####----- Start Modem Configuration -----#####
###############################################
subnet 192.168.1.0 netmask 255.255.255.0 {
  interface eth0;
}
#############################################
#####----- End Modem Configuration -----#####
#############################################

####################################################
#####----- Start Downstairs Configuration -----#####
####################################################
subnet 192.168.0.0 netmask 255.255.255.0 {
  interface eth1;
  default-lease-time 6000;
  max-lease-time 7200;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
}
##################################################
#####----- End Downstairs Configuration -----#####
##################################################

##################################################
#####----- Start Upstairs Configuration -----#####
##################################################
subnet 10.0.0.0 netmask 255.255.255.0 {
  interface eth2;
  default-lease-time 6000;
  max-lease-time 7200;
  range 10.0.0.100 10.0.0.200;
  option subnet-mask 255.255.255.0;
  option routers 10.0.0.254;
  option broadcast-address 10.0.0.255;
}
################################################
#####----- End Upstairs Configuration -----#####
################################################

#####################################################################
#####----- Start Server and Fixed IP Address Configuration -----#####
#####################################################################
group{
  ###--- Any global server settings should go here ---###

  #- Printer -#
  Host printer {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.25;
      }
  #- J computer -#
  Host j {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.105;                   
  }
  #- TServer computer -#
  Host tserver {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.110;
  }
  #- Windows 2008 Server -#
  Host win2008server {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.115;
  }
  #- Asterisk Box -#
  Host asterisk {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.120;
  }
  #- WWW Server -#
  Host www2 {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.125;
  }
}
###################################################################
#####----- End Server and Fixed IP Address Configuration -----#####
###################################################################

注:IPアドレスを変更し、インターフェイスのMACアドレスをゼロにしました。サーバーセクションの各インターフェイスには一意のMACアドレスがあると想定する必要があります。

/ etc/default/dhcp3-serverファイルにインターフェースを追加してみました。

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts

#
# This is a POSIX Shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1 eth2"

しかし、それでもeth1インターフェースで動作させることはできません。各サブネットスタンザの「interfaceethX」行が認識されるかどうか疑問に思っています。基本的に、eth1からのdhcpリースの要求はすべて192.168。..サブネットを取得し、eth2からのdhcpリースの要求は10.0 ....サブネットを取得する必要があると言っているだけです。

投稿者/クレジット emi_ramo、バルセロナ、スペイン
範囲192.168.0.50192.168.0.100;
各サブネット内。問題が解決しない場合は、もう一度ここに来てください。
またね!!
emi

投稿者/クレジット Srz0rz、オークランド、ニュージーランド

Emi_ramoありがとうございます!行 'range 192.168.0.200 192.168.0.253'を192.168.0.xサブネット宣言に追加すると、機能しました。こんなに簡単だったなんて信じられません。

これにより、2つのネットワークまで必要なものが得られることを願っていますが、IPTablesを使用して、ネットワークの分離があることを確認し(これについてもサポートが必要な場合はお知らせください)、必要に応じてルートを設定してください。すでにdhcpサーバーによって処理されています。

0
asmith