Вам понадобится bos.net.ipsec.rte, чтобы использовать решение, подобное iptables.
проверьте текущую установку с помощью:
michael@x071:[/home/michael]lslpp -L bos.net.ipsec.rte
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
bos.net.ipsec.rte 6.1.9.45 C F IP Security
Если она уже установлена, вы можете проверить, активна она или неактивна, используя:
Актив:
michael@x071:[/home/michael]lsdev -C | grep ipsec
ipsec_v4 Available IP Version 4 Security Extension
ipsec_v6 Available IP Version 6 Security Extension
Неактивен:
root@x064:[/]lsdev -C | grep ipsec
То есть нет вывода , что означает, что он никогда не был активирован, или
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4 Defined IP Version 4 Security Extension
ipsec_v6 Defined IP Version 6 Security Extension
какой-то выход, означающий, что может быть какая-то конфигурация, но он был деактивирован.
Вот несколько примеров того, как вы можете включить / выключить ipsec для v4 и / или v6 ipsec.
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4 Defined IP Version 4 Security Extension
ipsec_v6 Available IP Version 6 Security Extension
root@x072:[/]mkdev -l ipsec_v4
ipsec_v4 Available
root@x072:[/]rmdev -l ipsec_v6
ipsec_v6 Defined
root@x072:[/]lsdev -C | grep ipsec
ipsec_v4 Available IP Version 4 Security Extension
ipsec_v6 Defined IP Version 6 Security Extension
Теперь остановимся на nfs для каждого клиента (определенного как IP-адрес).
Давайте возьмем IP-адрес 192.168.111.222 в качестве адреса клиента, которого я хочу остановить. Там - это разные действия, которые могут быть выполнены - разрешить и запретить являются наиболее распространенными - мы можем немного пофантазировать и использовать блочный порт, который создает новое правило динамического запрета каждый раз, когда порт пытается подключиться - таким образом вы можете увидеть, насколько активен уникальные запросы монтирования:
Нам нужно сосредоточиться на порту 2049
root@x072:[/]grep nfs /etc/services
nfsd-status 1110/tcp # Cluster status info
nfsd-keepalive 1110/udp # Client status info
picknfs 1598/tcp # picknfs
picknfs 1598/udp # picknfs
shiva_confsrvr 1651/tcp # shiva_confsrvr
shiva_confsrvr 1651/udp # shiva_confsrvr
#nfs 2049/tcp # Network File System - Sun Microsystems
#nfs 2049/udp # Network File System - Sun Microsystems
3d-nfsd 2323/tcp # 3d-nfsd
3d-nfsd 2323/udp # 3d-nfsd
mediacntrlnfsd 2363/tcp # Media Central NFSD
mediacntrlnfsd 2363/udp # Media Central NFSD
Примечание: чтобы использовать smit (ty), используйте:
smitty ipsec4
, а затем используйте Advanced ...-> Добавить
Add an IP Security Filter Rule
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* Rule Action [shun_port] +
* IP Source Address [192.168.111.222]
* IP Source Mask [255.255.255.255]
IP Destination Address [0.0.0.0]
IP Destination Mask [0.0.0.0]
* Apply to Source Routing? (PERMIT/inbound only) [yes] +
* Protocol [tcp] +
* Source Port / ICMP Type Operation [any] +
* Source Port Number / ICMP Type [0] #
* Destination Port / ICMP Code Operation [eq] +
* Destination Port Number / ICMP Type [2049] #
* Routing [local] +
* Direction [inbound] +
* Log Control [no] +
* Fragmentation Control [0] +
* Interface [all] +
Expiration Time (sec) [300] #
Pattern Type [none] +
Pattern / Pattern File []
Description <g port on NFS request]
Или из командной строки:
/usr/sbin/genfilt -v 4 -a 'S' -s '192.168.111.222' -m '255.255.255.255' -d '0.0.0.0' -M '0.0.0.0' -g 'y' -c 'tcp' -o 'any' -p '0' -O 'eq' -P '2049' -r 'L' -w 'I' -l 'N' -t '0' -i 'all' -e '300' -D 'block incoming port on NFS request'
И либо в smit, либо из командной строки - активировать правило
mkfilt -v4 -u
и увидеть настроенные правила
lsfilt -v4 -O
и увидеть любые (возможно) динамические правила
lsfilt -v4 -a -O
** Комментарий, который я еще не могу добавить: в случае, если вам нужно изменить прямо СЕЙЧАС - поскольку это влияет только на будущие подключения к порту, вы можете использовать команды:
nfs.clean; sleep 2; rc.nfs
, чтобы остановить, а затем перезапустить службы nfs. Обратите внимание, что
stopsrc -g nfs; startsrc -g nfs
не запускает демонов в правильной последовательности
Инициализируйте языковой стандарт вашего приложения с помощью setlocale (LC_ALL, "")
, а затем вызовите nl_langinfo (CODESET)
. Это дает вам разрешенное значение из переменных среды LANG, LC_CTYPE, LC_ALL.
Это не говорит вам, как на самом деле работает эмулятор терминала, но это то, на что полагается почти каждое приложение. Если это дает неправильный результат, ваша система неправильно настроена, и почти все другие приложения также будут неправильно работать в вашем эмуляторе терминала. Как разработчик приложения, вы не должны пытаться обнаружить и исправить, если оно сломано. Вы можете смело предположить, что он настроен правильно для вас. Как системный администратор, разработчик дистрибутива или пользователь, взламывающий вашу систему, ваша задача - убедиться, что переменные локали и фактическое поведение эмулятора терминала совпадают.
Коротко:
setlocale
, wcrtomb
и wcsrtombs
) Si el emulador de terminal está bien -diseñado y configurado adecuadamente, garantizará que el valor de la variable de entorno LC_CTYPE
se establezca en un valor que sea consistente con su codificación. Desafortunadamente, en la práctica, la verificación LC_CTYPE
no siempre es confiable :, puede no estar configurada o ser incorrecta. (Otras variables de entorno pueden transmitir la configuración regional, consulte ¿En qué debo configurar mi configuración regional y cuáles son las implicaciones de hacerlo? para más detalles.)
Si tiene alguna idea de qué codificaciones de caracteres son probables, puede determinar la codificación a través de la heurística. Muestra una cadena de bytes que tiene un ancho diferente en diferentes codificaciones y descubre cuánto hace que se mueva el cursor. Esto no lo ayudará en todos los casos, por ejemplo, no puede distinguir entre codificaciones de un solo byte -. Pero si para usted las únicas dos posibilidades probables son UTF -8 y una codificación heredada, eso funciona bien. En el inicio de mi shell, configuré LC_CTYPE
de esta manera, usando un script widthof
que publiqué en Obtener el ancho de visualización de una cadena de caracteres . widthof -1
muestra una cadena de 4 -bytes que representa 2 caracteres en UTF -8, y en la que solo 3 bytes son caracteres latinos imprimibles -N. Por lo tanto, un ancho de 2 significa UTF -8 (o alguna otra codificación multibyte, lo cual no es probable para mí ), un ancho de 3 significa latín -N (sin forma de saber N ), y 4 significa una codificación de un solo byte -con caracteres imprimibles en el rango 128–159.
widthof -1
case $? in
0) export LC_CTYPE=C;; # 7-bit charset
2) locale_search.utf8.UTF-8;; # utf8
3) locale_search.iso88591.ISO8859-1.latin1 '';; # 8-bit with nonprintable 128-159, we assume latin1
4) locale_search.iso88591.ISO8859-1.latin1 '';; # some full 8-bit charset, we assume latin1
*) export LC_CTYPE=C;; # weird charset
esac