Соединитесь с mpd по Openvpn (не изменяя интернет-маршрутизацию)

Вы не делаете то, что вы думаете, что делаете. Эта команда:

TAX="echo $salary * 0.15 | bc"

ничего не запускает, нет расчета. Это присваивает строку в переменной долл. США . Затем, потому что вы не цитируете переменную, когда вы передаете ее на PrintF , * будет расширяться ко всему в текущем каталоге. Чтобы проиллюстрировать:

$ ls
file1  file2
foo="echo 12 * 4 | bc"
$ echo $foo
echo 12 file1 file2 4 | bc

, как вы можете видеть выше, * расширился до содержимого каталога, и не было сделано расчет. Чтобы назначить результат команды на переменной, вы должны использовать var = $ (команду) , а не цитаты.

Итак, рабочая версия вашего сценария будет:

#!/bin/sh
printf 'Please enter salary amount: '
read salary
TAX=$(printf '%s * %s\n' "$salary" "0.15" | bc)
NET=$(printf '%s + %s\n' "$salary" "$TAX" | bc)

printf "Net Salary= %.2f\n" $NET

при отладке чего-то вы всегда должны думать о печати ваших переменных, чтобы понять, что они содержат.

0
07.02.2015, 21:51
2 ответа

Установите свой клиент, чтобы получить параметр маршрута только к вашей домашнему языку. Например, если ваш дом LAN был 192.168.2.0, этот параметр будет выглядеть так в файле .Conf:

route 192.168.2.0 255.255.255.0

и не нажимайте никакие маршруты с сервера на клиент. Таким образом, когда туннель поднимается все, что вы будете находить через это сеть, которую вы помещаете в параметр маршрута.

Обновление:

Так как ваш сервер имеет эти нажатия:

push "redirect-gateway def1 bypass-dhcp" 
push "dhcp-option DNS 8.8.8.8" 
push "dhcp-option DNS 8.8.4.4"

Вам нужно удалить их, чтобы иметь желаемый эффект, который вы ищете. Было бы лучше иметь два случая OpenVPN на вашем сервере. Один с фактическим конфигом и один с модифицированным, который вы будете использовать при подключении из офиса. Просто прослушивайте два конфига, прослушивающие разные порты и подключайтесь к ним по желанию.

Например, на самом фактическом параметре ниже в конце сервера Config:

port 1200

и на модифицированном положении:

port 1201

Затем ваш клиент может подключиться к любому порту в зависимости от ваших потребностей.

1
28.01.2020, 02:51

Рискуя выкопать эту нить из мертвых (она обнаружилась в соответствующей ).


На самом деле, это довольно просто. Вам не нужно ничего делать на сервере.

добавьте следующие строки в файл конфигурации .ovpn:

route-nopull
route 192.168.1.210 255.255.255.255 vpn_gateway #for single IP address
route 172.16.69.0   255.255.255.0   vpn_gateway #for /24 range
etc...

Таким образом, маршрут по умолчанию не изменится, но трафик, направляемый на эти IP-адреса, будет проходить через VPN.

Дополнительную информацию об этом можно найти в официальном руководстве OpenVPN .

Выдержка:

--route-nopull
  When used with --client or --pull, accept options pushed by server EXCEPT
  for routes, block-outside-dns and dhcp options like DNS servers.When used 
  on the client, this option effectively bars the server from adding routes
  to the client’s routing table, however note that this option still allows
  the server to set the TCP/IP properties of the client’s TUN/TAP interface.
0
28.01.2020, 02:51

Теги

Похожие вопросы