Эта команда возвращает SSID подключенного беспроводного адаптера (предполагается, что у вас есть только один).
iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/'
Он также выводит предупреждение на терминал, но на stderr, поэтому не имеет значения [!d1 ]
remi@host~$id:~$ id=$(iwconfig | grep ESSID | sed -e 's/.*ESSID:"\(.*\)".*/\1/')
eth0 no wireless extensions.
lo no wireless extensions.
virbr0 no wireless extensions.
tap0 no wireless extensions.
remi@host:~$ echo $id
CISPI
Я получил работу с OpenVPN (используя TAP) после большой работы. Не повезло с TUN, я полагаю, что он не может работать с TUN, поскольку с ним нет возможности широковещательной передачи UDP (что, по-видимому, использует In-home Streaming для обнаружения одноранговых узлов).
Я запускаю сервер OpenVPN на моем маршрутизаторе , Archer C7 V2 работает с OpenWRT (барьерный выключатель).
Ниже приведен файл конфигурации сервера, который я использую. Модификация необходима, где должно быть ясно:
client-to-client
persist-key
persist-tun
tls-server
ca /etc/openvpn/ca.crt
cert /etc/openvpn/erb-router-c7.crt
dev tap_mypvn
dh /etc/openvpn/dh2048.pem
keepalive 10 120
key /etc/openvpn/erb-router-c7.key
log /tmp/openvpn.log
mode server
port 1194
proto udp
route-gateway dhcp
server 10.8.0.0 255.255.255.0
status /var/log/openvpn_status.log
topology subnet
verb 3
push topology subnet
push route-gateway dhcp
push persist-key
push persist-tun
Вот моя конфигурация клиента (хост-компьютер с Windows, аналогичная конфигурация используется на клиентской машине под управлением Ubuntu):
client
float
dev tap
proto udp
remote YOUR_HOSTNAME_OR_IP_HERE 1194
log "C:/Program Files/OpenVPN/config/log.txt"
verb 3
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
ca "C:/Program Files/OpenVPN/config/ca.crt"
cert "C:/Program Files/OpenVPN/config/erb-main-7.crt"
key "C:/Program Files/OpenVPN/config/erb-main-7.key"
Я так много сделал с конфигурацией OpenWRT, что я не уверен, что это все, что требуется для того, чтобы кто-то смог воспроизвести мой успех. Но короткая версия: используйте TAP, а не TUN, убедитесь, что ваши клиенты VPN могут разговаривать друг с другом, указав параметр client-to-client в конфигурации сервера. В OpenWRT я также установил сетевой интерфейс и брандмауэр, как указано в вики OpenWRT для OpenVPN.
Если у вас есть какие-либо вопросы, я сделаю все возможное, чтобы ответить на них.
Редактировать по запросу:
/etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd0f:252f:ed29::/48'
config interface 'lan'
option force_link '1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option _orig_ifname 'eth1 wlan0 wlan1'
option _orig_bridge 'true'
option ifname 'eth1 tap_myvpn'
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
config interface 'wan6'
option ifname '@wan'
option proto 'dhcpv6'
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'switch0'
option vlan '1'
option ports '0 2 3 4 5'
config switch_vlan
option device 'switch0'
option vlan '2'
option ports '1 6'
config interface 'vpn0'
option ifname 'tun0'
option proto 'none'
option auto '1'
Выбранная часть из /etc/config/firewall может не содержать весь контекст, но мне не нужен весь файл брандмауэра быть известным. Пожалуйста, сообщите мне о возможной избыточности и ошибках:
config rule
option name 'Allow-OpenVPN-Inbound'
option target 'ACCEPT'
option src '*'
option proto 'udp'
option dest_port '1194'
config zone
option name 'vpn'
option masq '1'
option input 'ACCEPT'
option forward 'ACCEPT'
option output 'ACCEPT'
option network 'vpn0'
config forwarding
option dest 'lan'
option src 'vpn'
config forwarding
option dest 'wan'
option src 'vpn'
config forwarding
option dest 'vpn'
option src 'lan'