Маршрутизация всего через общедоступный IP-адрес, кроме SSH, на порт 22 через OPEN VPN

Это интересный вопрос. Я не могу найти ничего, что явно объясняет сопоставление параметра swapon с данными подкачки ядра.

Однако вы можете увидеть почти все доступные параметры подкачки с помощью этой команды (я считаю, что это правильно, если нет, дайте мне знать):

https://www.kernel.org/doc/Documentation/ sysctl / vm.txt содержит документацию ядра 2.6 для различных файлов в этом каталоге.

tail -n +1 /proc/sys/vm/*
==> /proc/sys/vm/admin_reserve_kbytes <==
8192

==> /proc/sys/vm/block_dump <==
0
tail: cannot open '/proc/sys/vm/compact_memory' for reading: Permission denied

==> /proc/sys/vm/compact_unevictable_allowed <==
1

==> /proc/sys/vm/dirty_background_bytes <==
0

==> /proc/sys/vm/dirty_background_ratio <==
20

==> /proc/sys/vm/dirty_bytes <==
0

==> /proc/sys/vm/dirty_expire_centisecs <==
3000

==> /proc/sys/vm/dirty_ratio <==
50

==> /proc/sys/vm/dirtytime_expire_seconds <==
43200

==> /proc/sys/vm/dirty_writeback_centisecs <==
500

==> /proc/sys/vm/drop_caches <==
0

==> /proc/sys/vm/extfrag_threshold <==
500

==> /proc/sys/vm/highmem_is_dirtyable <==
0

==> /proc/sys/vm/hugepages_treat_as_movable <==
0

==> /proc/sys/vm/hugetlb_shm_group <==
0

==> /proc/sys/vm/laptop_mode <==
0

==> /proc/sys/vm/legacy_va_layout <==
0

==> /proc/sys/vm/lowmem_reserve_ratio <==
256 32  32

==> /proc/sys/vm/max_map_count <==
65530

==> /proc/sys/vm/min_free_kbytes <==
3466

==> /proc/sys/vm/min_slab_ratio <==
5

==> /proc/sys/vm/min_unmapped_ratio <==
1

==> /proc/sys/vm/mmap_min_addr <==
65536
tail: cannot open '/proc/sys/vm/mmap_rnd_bits' for reading: Permission denied

==> /proc/sys/vm/nr_hugepages <==
0

==> /proc/sys/vm/nr_hugepages_mempolicy <==
0

==> /proc/sys/vm/nr_overcommit_hugepages <==
0

==> /proc/sys/vm/nr_pdflush_threads <==
0

==> /proc/sys/vm/numa_zonelist_order <==
default

==> /proc/sys/vm/oom_dump_tasks <==
1

==> /proc/sys/vm/oom_kill_allocating_task <==
0

==> /proc/sys/vm/overcommit_kbytes <==
0

==> /proc/sys/vm/overcommit_memory <==
0

==> /proc/sys/vm/overcommit_ratio <==
50

==> /proc/sys/vm/page-cluster <==
3

==> /proc/sys/vm/panic_on_oom <==
0

==> /proc/sys/vm/percpu_pagelist_fraction <==
0

==> /proc/sys/vm/stat_interval <==
1
tail: cannot open '/proc/sys/vm/stat_refresh' for reading: Permission denied

==> /proc/sys/vm/swappiness <==
60

==> /proc/sys/vm/user_reserve_kbytes <==
131072

==> /proc/sys/vm/vdso_enabled <==
1

==> /proc/sys/vm/vfs_cache_pressure <==
100

==> /proc/sys/vm/watermark_scale_factor <==
10

==> /proc/sys/vm/zone_reclaim_mode <==
0

Как видите, при запуске с правами пользователя некоторые параметры показывают ошибку, потому что для них требуется root, и если вы запустите команду от имени root, вы получите все данные.

Затем нужно исследовать, какая опция подкачки соответствует какому / proc / sys / vm / option.

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

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

2
19.02.2017, 15:31
1 ответ

Альтернатива iptables: используйте сетевые пространства имен. От имени пользователя root выполните что-то вроде

ip addr show dev tun0
ip netns add vpnssh
ip link set tun0 netns vpnssh
ip netns exec vpnssh su -c 'xterm &' user_name

, где tun0 - сетевой интерфейс вашей конечной точки OpenVPN, а имя_пользователя - пользователь, который запускает ssh . Обратите внимание на адреса inet (назовем его vpn_local_ip ) и однорангового узла ( vpn_peer_ip ) для tun0 .

Теперь у вас есть xterm, в котором все подпроцессы только «видят» tun0 (проверьте с помощью ip link ), но, к сожалению, его перемещение отключилось. Итак, в этом окне используйте sudo to

ip link set tun0 up
ip addr add vpn_local_ip peer vpn_peer_ip dev tun0
ip route del default
ip route add default via vpn_local_ip dev tun0

Теперь вы можете запустить ssh в этом окне, и он будет использовать соединение OpenVPN. Скриптируйте все как требуется (используйте ip netns exec vpnssh ... для второй части).

2
27.01.2020, 22:19

Теги

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