Я основал решение для этого:
под фильтром *:
iptables -A FORWARD -s (source ip) -o tap0 -DROP
-121--209755-Если вы думаете о каталогах или папках в контексте «fancy filename» папка по-прежнему является файлом, но скорее является указателем на контейнер, как папка файла в вашем кабинете подачи, поэтому, если вы обозначаете или используете косую черту «/» или косая точка «/». Сценарию полезно знать, что вы не имеете в виду файл, а не папку.
Надеюсь, это имеет смысл.
-121--289614- Вероятно, это будет «дисплеем» вещь с ls
, то есть, если вы делаете ls -p
или ls -F
, она должна последовательно добавлять косую черту после каталогов. Он по существу добавляет визуальные сигналы относительно того, что он думает файл. (Обратите внимание, что -F
также будет, например, добавлять @
в symlinks, *
в файлы с разрешениями на выполнение, |
в именованные каналы, =
в сокеты и так далее). Можно также воспроизвести с помощью ls -d directory/
vs ls -d directory
.
/
и \0
Я считаю, что только два символа недопустимы в имени файла или каталога.
Всегда добавление косой черты должно быть безопасным, если вы правильно назначили каталог и файл myfile, делая vim «$ mydirectory/$ myfile»
должно делать то, что вы ожидаете. (С оговоркой, что $ mydirectory
и $ myfile
назначены правильно). foo/bar
и foo//bar
должны быть эквивалентными.
Обычно; Мне очень не нравится присваивать выходные данные ls переменным и иметь дело с ними, прежде всего потому, что я ранее был удивлен, что символы заканчиваются именами файлов в сочетании с отсутствием цитирования, заканчивая разрушительными результатами. (Т.е. prefix =/home user = «oops» rm -rf $ prefix $ user
, который в итоге рекурсивно удалит /home
, а затем попытается рекурсивно удалить ./oops
).
Вместо использования ls, я стараюсь, когда я могу полагаться на расширение глобуса bash, или найти -print0 | xargs -0
. Если используется ls
, убедитесь в том, что для ls
НЕ используется существующий псевдоним, и используйте параметры дисплея, соответствующие конкретной задаче.
Я смог заставить это работать, используя первоначальную идею, которая у меня была, с одним трюком :Я должен был включить ufw на моей локальной машине. В противном случае sshuttle выдавал ошибку.
Итак, на локальной машине я сделал:
sudo ufw enable
Затем,
sshuttle -r username@ipForSubnetA 0.0.0.0/0 -vv --dns
Это на самом деле (страшно? )разрешил мне на моей локальной машине доступ к элементам подсети B.
Удаленная машина полностью заблокирована брандмауэром -, разрешая доступ по SSH только через закрытый ключ через один порт.
Если кто-то знает какие-либо проблемы с sshuttle, пожалуйста, сообщите мне:)