Как настроить IP-переадресацию

Псевдонимы не раскрываются, когда оболочка не интерактивна, если только опция оболочки expand_aliasesне установлена ​​с помощью shopt -s expand_aliases.

Псевдонимы — это инструмент быстрого доступа для интерактивного использования. Вместо этого для любого сценария используйте функцию оболочки :

.

startservices () {
    # commands go here
}

Функции оболочки во многих отношениях более гибкие, чем псевдонимы.Они могут принимать аргументы, как это делает сценарий оболочки, для начала :

.

startservices () {
    user="$1"
    service="$2"
    # code to start service "$service" as user "$user"
}

Вам не нужно явно указывать источник .bash_profileдругого пользователя. Вместо этого используйте sudo -i. Это запустит оболочку входа в систему, которая будет читать .bash_profileпри запуске :

.

$ sudo -i -u User2 startservices

Для этого требуется, чтобы startservicesбыл сценарием или другой внешней утилитой в $PATHиз User2, функцией оболочки, определенной в файлах запуска оболочки User2, или псевдонимом (с оболочкой. работает с набором expand_aliases), определенным в файлах запуска оболочки User2.

См. также Есть ли веская причина запускать sudo su?

0
21.01.2020, 10:32
1 ответ

Учитывая, что два маршрутизатора позволяют проходить всем соединениям с обеих сторон, проще всего добавить новые IP-адреса к двум интерфейсам DEV2. Мы делаем это для того, чтобы DEV2 мог легко различать пакеты, предназначенные для него, и пакеты, предназначенные для прохождения :

.
ip addr add 192.168.2.3/24 dev INTERFACE2
ip addr add 10.12.0.218/24 dev INTERFACE3

(подставьте реальные имена интерфейсов для INTERFACE2/3 и убедитесь, что эти адреса заняты а не , для этого просто ping -c 192.168.2.3 например и посмотрите, получите ли вы какой-либо ответ. Кроме того, я предположил, что две маски равны /24, если нет, измените соответственно ). Теперь все для 192.168.2.3 и 10.12.0.218 предназначено для DEV1/3, а все для 192.168.2.1 -10.12.0.217 — для DEV2.

Теперь мы пересылаем все, что приходит на два новых адреса.:

iptables -A FORWARD -j ACCEPT
iptables -A PREROUTING -t nat -d 192.168.2.3 -j DNAT --to 10.10.3.154
iptables -A PREROUTING -t nat -d 10.12.0.218 -j DNAT --to 192.168.2.2
iptables -t nat -A POSTROUTING -j MASQUERADE

Первое правило позволяет пакетам мигрировать с одного интерфейса на другой (правило net.ipv4.ip _forward = 1 необходимо, но недостаточно ), последнее правило переписывает все заголовки пакетов, как если бы они исходили от исходящего интерфейса, чтобы ответы снова направлялись через DEV2; два промежуточных правила переписывают заголовки пакетов таким образом, что пакеты отправляются от DEV1 к DEV3 (, правило № 2 ), и от DEV3 к DEV1 (, правило № 3 ).

Преимущество этой настройки заключается в том, что она очищает :все протоколы и все порты маршрутизируются одновременно, без каких-либо дополнительных сложностей.

ПРЕДОСТЕРЕЖЕНИЕ:interface1 на DEV1 и interface2 на DEV2 принадлежат к одной и той же подсети, что странно, поскольку вы говорите, что они разделены маршрутизатором :по определению, маршрутизатор объединяет два различных ] подсети. Значит, либо router1 , а не маршрутизатор, либо, если это так, в его конфигурации есть ошибка, так как он с обеих сторон окружен одними и теми же сетями. Я предположил первое, а не второе.

1
28.01.2020, 02:38

Теги

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