Вот решение awk
:
$ awk 'FNR==NR{a[$1];next}($1 in a){++a[$1]}
END{for(i in a){print i" "a[i]}}' file1.txt 1.txt 2.txt
put 1
get 1
move 2
Объяснение
FNR == NR {a [$ 1]; next}
: при обработке file1.txt
, мы отмечаем появление $ 1
в ассоциативном массиве a
. ($ 1 в a) {++ a [$ 1]}
: при обработке 1.txt
и 2.txt
мы проверяем, $ 1
существует в ассоциативном массиве a
, если да, увеличивая счет на 1. a
, распечатайте ключ (первое поле в файлах) и его значение (количество вхождений в 1.txt
и 2.txt
). Вот еще одно решение в perl
с той же логикой:
$ perl -alne '++$i;
if ($. == $i) {
$h{$F[0]}=0;
close ARGV if eof;
next;
}
++$h{$F[0]} if defined $h{$F[0]};
END {
for (keys %h) {
print $_." ".$h{$_};
}
}' file1.txt 1.txt 2.txt
move 2
get 1
put 1
Чтобы установить маршрутизацию между подсетями, необходимо объявить эти подсети. Попробуйте использовать опцию push "route 192.168.1.0 255.255.255.0"
. См. документацию OpenVPN, особенноhttps://community.openvpn.net/openvpn/wiki/BridgingAndRouting.
IP-адреса, используемые клиентским и серверным интерфейсами OpenVPN tun на сайте -на -сайт Туннель OpenVPN (= точка -на -точка с маршрутизацией )вы объявляете их таковыми.
Я немного продвинулся. Использование этой конфигурации на сервере
server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server/server.key
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
dh /etc/openvpn/server/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
route 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
push "redirect-gateway def1 bypass-dhcp"
user nobody
group nobody
proto udp
port 1194
dev tun1194
status openvpn-status.log
и
client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote 185.x.x.x 1194 udp
comp-lzo yes
redirect-gateway def1
#iroute 192.168.1.0 255.255.255.0
key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt
на клиенте я получаю следующие таблицы маршрутизации после установки соединения OpenVPN:
сервер:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway.netcup. 0.0.0.0 UG 100 0 0 ens3
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun1194
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun1194
185.x.x.x 0.0.0.0 255.255.252.0 U 100 0 0 ens3
192.168.1.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun1194
клиент:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
default gateway 0.0.0.0 UG 0 0 0 eth0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
link-local 0.0.0.0 255.255.0.0 U 1118 0 0 eth0
185.x.x.x gateway 255.255.255.255 UGH 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
однако по-прежнему невозможно ping 192.168.1.1
с сервера. Конечно, я включил переадресацию IP на клиенте
sysctl -w net/ipv4/ip_forward=1
и я также пытался настроить iptables на клиенте:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE