web-dev-qa-db-ja.com

Fedora 20-wifiホットスポットはほとんど機能しますが、何か問題があります

WiFi付きのSonyVaioノートブックを持っており、Fedora 20でホットスポット(アドホックなもの)をセットアップする必要があります。

私はDebianとSuSEの下でそれを成功させましたが、Fedoraの下ではシステムまたは何かの基礎を理解するのに苦労しています。

ホットスポットを構成する2つの方法を見つけました。

  1. dhcp + hostapd
  2. dnsmasq + hostapd

Dnsmasq-wayが機能しません-エラーが発生し、Androidが新しいネットワークを認識できません。

dhcp-wayはほぼ機能します-Androidネットワークに接続します。新しいIPがありますが、DNS解決またはマスカレードに問題があります。何がわかりません。Androidに白いWiFiアイコンが表示され、リクエストのタイムアウト(play.googleなど)が経過するとインターネットに接続できなくなります。

私のwifiインターフェースはwlp7s0です

私のインターネット接続はp5p1です

以下に、configスクリプトとdhcp-wayスクリプトを示します。

# cat /etc/dhcp/dhcpd.conf
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.2 192.168.0.30;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 8.8.4.4, 8.8.8.8;
        option routers 192.168.0.1;
}


# cat /etc/hostapd/hostapd.conf
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
# WPA & WPA2 support with a pre-shared key
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
# WPA passphrase
wpa_passphrase=MYCOOLPASS
driver=nl80211
interface=wlp7s0
hw_mode=g
channel=11
ssid=NETNAME

ホットスポットを開始するスクリプト(手動モード):

systemctl stop NetworkManager.service
service dhcpd stop
service hostapd stop

sleep 1

ifconfig wlp7s0 192.168.0.1 netmask 255.255.255.0 up
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o p5p1 -j MASQUERADE

sleep 1

service dhcpd start
service hostapd start

これを機能させる方法に関するアドバイスはありますか?

5
user42104

そしてnooooww ...私のスクリプトの最終バージョン:

systemctl stop NetworkManager.service
service dhcpd stop
service hostapd stop

sleep 1

ifconfig wlp7s0 192.168.0.1 netmask 255.255.255.0 up

# REPLACED BY NEW FIREWALL COMMAND BELOW
# sysctl net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -o p5p1 -j MASQUERADE

firewall-cmd --add-masquerade  # <-- Yes! It is this! :)

sleep 1

service dhcpd start
service hostapd start

先に話したように、私の問題の原因は古い2つではなく1つの文字列でした。

firewall-cmd --add-masquerade
4
user42104

まず、覚えておくようにします-Fedoraのセキュリティの違いは何ですか。

その1つが「firewalld」です。

Sudo firewall-cmd --list-all-zones

私のすべてのコマンドの後に、外部インターフェース「マスカレード:いいえ」で私を表示します。

sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o p5p1 -j MASQUERADE

そのため、スクリプトを再度実行する前にファイアウォールを無効にしようとしています。

systemctl stop firewalld.service

そして、ウーアリア!ホットスポットは仕事です! :)))

代わりにiptablesをマスカレードしているfirewalldを設定しようとするかもしれません。

1
user42104

NetworkManagerを使用してホットスポットを設定できます。
セットアップhostapd(driver = noneを使用)およびdhcpdに加えて、DHCP範囲(ゲートウェイでもある)からのIPを使用してワイヤレス接続をセットアップする必要があります。モード:「アクセスポイント」(およびhostapd.confからの一致した設定-ワイヤレスタイプとバンド)
開始シーケンス:

sysctl net.ipv4.ip_forward=1  
nmcli connection up hotspot  
sleep 3  

systemctl start dhcpd.service  
systemctl start hostapd.service  
iptables -t nat -A POSTROUTING -o em1 -j MASQUERADE  

the stop sequence:  
nmcli connection down hotspot  
sleep 3  

sysctl net.ipv4.ip_forward=0  
systemctl stop dhcpd.service  
systemctl stop hostapd.service  
iptables -t nat -F  
1
Adrian Sevcenco