Это чрезвычайно -эффективный способ использования printf()
без использования спецификаторов формата. Обычно вы определяете их, чтобы сообщить, какой тип вывода форматируется. Это должно было быть написано как
printf '%s\n' "-----------"
Такой, чтобы printf
соответствовал -----------
как строковому типу со спецификатором формата, который принимает строковое ключевое слово(%s
). \n
после спецификатора означает добавление новой строки после того, как строка будет напечатана.
С вашей попыткой, когда происходит удаление кавычек, printf
интерпретирует тире как один из своих флагов командной строки, который он не понимает.
Другой хакерский способ сделать это состоит в том, чтобы сообщитьprintf
о том, что его аргументы командной строки завершены, и интерпретировать содержимое, следующее за ним, как его аргументы. Большинство встроенных -ins и/или внешних команд оболочки поддерживают это, добавляя суффикс --
после ключевого слова команды, то есть как
printf -- "-----------\n"
Фактически, iptables
или любой другой брандмауэр не может открыть порт сам по себе -это может сделать только приложение, использующее этот порт.
Брандмауэр может разблокировать порт, чтобы разрешить подключение к нему. Но без приложения, которое либо прослушивает входящие соединения, либо открывает исходящее соединение с использованием этого порта, незаблокированный порт все равно будет закрыт.
Заблокированный порт обычно отбрасывает входящие пакеты, полностью их игнорируя. Для человека, пытающегося подключиться к заблокированному порту, это обычно отображается как ошибка «время ожидания подключения истекло» после некоторого ожидания.
Незаблокированный, но закрытый порт, как правило, активно отклоняет входящие подключения :человек, пытающийся подключиться, почти сразу же получает сообщение об ошибке «отказ в подключении». В зависимости от используемого сетевого протокола это отклонение обычно может происходить одним из двух способов :для TCP: обычно отправляется пакет сброса TCP. Другой вариант — отправить пакет сообщения об ошибке ICMP, что является нормой для UDP и может также использоваться с TCP.
Порт 1701 обычно используется протоколом L2TP VPN, который часто используется вместе с IPsec.
В OpenSuSE IPsec предоставляется пакетом strongswan
, а L2TP — пакетом xl2tpd
. Вы также можете захотеть, чтобы пакет yast2-vpn
позволял легко настраивать (как на стороне клиента, так и на стороне сервера )через YaST. Вам нужно будет установить и настроить их в соответствии с вашими требованиями, так как они не будут включены по умолчанию.
Неясно, планируете ли вы использовать OpenSuSE в качестве VPN-сервера (для приема входящих VPN-подключений с сервера Windows )или в качестве VPN-клиента (для исходящих VPN-подключений к серверу Windows. ); в любом случае,эти ссылки на собственную документацию OpenSuSE могут быть полезны: