Для разъяснения, в то время как VPN работает, SSH из внешних источников повреждается, но до выполнения VPN, работал SSH из всех источников. Проблема сводится к таблице маршрутизации. Поскольку Вы показываете выше, маршрут по умолчанию (0.0.0.0
) идет в tun0
. Я не понимаю то, что с забавной сетевой маской 128.0.0.0
, но это заставило бы любой внешний адрес, запускающийся с 1-126 использовать tun0
. Не имеет значения, куда входящие пакеты прибывают из для SSH, исходящие пакеты только выйдут, где они соответствуют в таблице маршрутизации. Я сделал необычные конфигурации как это сам. Стандартное решение, которое я использую для этого вида проблемы, состоит в том, чтобы использовать поступление правила SNAT, которые изменяют исходный адрес входящего пакета к внутреннему адресу IPv4 маршрутизатора. Это заставит это появляться как внутреннее соединение к ПК, и это счастливо направит его назад к маршрутизатору, так как это находится на локальном месте назначения в таблице маршрутизации выше. Маршрутизатор затем инвертирует SNAT и передаст его обратно интервал дикая местность, которая будет сниффинговой и подталкиваться всеми низкими хакерами там. Это - SNAT, должен существовать как iptables
правило о маршрутизаторе, не ПК в сети. Если Вы просто используете что-то как запас Linksys маршрутизатор WRT, Вам, возможно, придется установить OpenWRT или подобный на нем для получения этого вида управления правилом брандмауэра/NAT.
Вот то, что я использую:
.mailcap:
application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; xdg-open /tmp/mutt/$(basename %s) &
.mutt/muttrc:
folder-hook . `rm -f /tmp/mutt/*`
Каждый раз, когда попытка открыть вложение предпринята, она копируется в специализированном временном каталоге, и копия открыта.
Каждый раз Вы запускаете mutt
, очищены любые непрекращающиеся копии.
Вы можете или, возможно, не нуждаетесь &
в конце, в зависимости от команды Вы использовали. (Некоторые версии xdg-open
блокируются, в то время как другие не.)
Само собой разумеется, можно использовать это с любой командой. xdg-open
просто удобный универсальный обработчик.
Вы могли использовать команду обертки что:
mutt
сделайте это.Что-то как:
#! /bin/sh -
TMPDIR=$(
mutt -D 2> /dev/null |
awk -F\" '
$1 == "tmpdir=" {
gsub("~", ENVIRON["HOME"], $2)
print $2
exit
}'
)
[ -n "$TMPDIR" ] || exit
export TMPDIR
nargs=$#
nfiles=0
for i do
case $i in
("$TMPDIR"/?*)
new_file=$(mktemp -ut "XXXXX${i##*/}") &&
mv -- "$i" "$new_file" &&
nfiles=$(($nfiles + 1)) &&
set -- "$new_file" "$@" "$new_file" &&
continue
esac
set -- "$@" "$i"
done
run_command() (
shift "$(($nargs + $nfiles))"
exec "$@"
)
(
run_command "$@"
while [ "$nfiles" -gt 0 ]; do
set -- "$@" "$1"
shift
nfiles=$(($nfiles - 1))
done
shift "$((2*$nargs))"
rm -f -- "$@"
) &
И помещенный что-то как:
image/*; muttv eog %s;
Где muttv
тот сценарий выше.
Вышеупомянутое не делает предположения на том, где имя (имена) файла появляется (s) в списке аргументов или какой символ они содержат... Который является, почему мы сначала спрашиваем mutt
что tmpdir
(таким образом, мы используем это для определения то, что является файлами для просмотра).
В большинстве случаев это было бы излишество, хотя, и поскольку Gilles указывает, может не работать, если tmpdir указан как относительно Вашей папки почтового ящика.
Более простой был бы:
#! /bin/sh -
nargs=$#
eval "file=\${$nargs}"
newfile=$(dirname -- "$file")/new-$(basename -- "$file")
while [ "$nargs" -gt 1 ]; do
set -- "$@" "$1"
shift
nargs=$(($nargs - 1))
done
shift
mv -- "$file" "$newfile" || exit
(
"$@" "$newfile"
rm -f -- "$newfile"
) &
Замена mv
с cp
если Вы не хотите касаться исходного файла, обеспеченного mutt
.
.muttrc
потому что tmpdir="=tmp"
. Почему бы не захватить каталог от имени файла?
– Gilles 'SO- stop being evil'
20.02.2013, 21:53
new-$original
– Stéphane Chazelas
20.02.2013, 21:58
see
на командной строке я не ожидаю, что это удалит файл, даже если это будет в /tmp
!) Решение: сделайте жесткую ссылку.
– Gilles 'SO- stop being evil'
20.02.2013, 22:03
&
после xdg-открытый. Не может повредить иметь его там в любом случае, правильно? – Profpatsch 17.01.2014, 13:06mailcap
сxdg-open
? и копия тот ответ. Я уверен, что существуют некоторые люди с тем вопросом. – Profpatsch 17.01.2014, 13:09text/html; t=$(mktemp /tmp/XXXXXXXXXX) \; cp %s "$t" \; /bin/sh -c "firefox $t \; rm $t \;" &
– Derek Schrock 21.04.2015, 18:22