Как установить разные правила для нескольких IP-адресов на одном интерфейсе?

Это виртуальные консоли , известные в Linux как виртуальные терминалы (VT). Есть одна аппаратная консоль (один экран и одна клавиатура), но Linux делает вид, что их несколько (целых 63). В данный момент времени один VT является активным ; ввод с клавиатуры направляется на эту консоль, и на экране отображается то, что отображает эта консоль.

Вы можете использовать команду chvt для переключения между VT (у вас должен быть прямой доступ к текущей виртуальной консоли, которого у вас не будет, если вы вошли в систему удаленно или работаете под X). Вы также можете использовать сочетания клавиш, заданные с помощью раскладки клавиатуры, загруженной с помощью loadkeys или X-сервера.По умолчанию вне X, Alt + F n переключает на номер консоли n и Alt + Shift + F n переключает на номер консоли n +12; Alt + Left и Alt + Right переключает на предыдущую / следующую консоль.

Консоль должна быть выделена , чтобы переключиться на нее. Вы можете использовать openvt , чтобы выделить консоль (для этого требуется root), и deallocvt , чтобы освободить ее.

Программа getty не имеет прямого отношения к виртуальным консолям, в частности, она не имеет ничего общего с распределением VT. Роль getty состоит в том, чтобы подготовить консоль (настроить параметры последовательного порта, возможно, очистить экран, отобразить приветственное сообщение и т. Д.) И вызвать login , затем дождаться завершения сеанса входа в систему и повторить его. Вкратце, роль getty заключается в вызове login в цикле.

Вам не нужно запускать getty, чтобы использовать консоль. Например, вы можете запустить любую программу на консоли с помощью openvt . Вы можете запустить X-сервер на новой консоли с помощью startx .

1
07.01.2017, 15:38
1 ответ

Я процитирую несколько строк из man iptables :

[!] -p, --protocol protocol
       The  protocol  of  the rule or of the packet to check.
[!] -s, --source address[/mask][,...]
       Source specification. Address can be either a network name, a hostname, 
       a net‐work IP address (with /mask),  or  a  plain  IP  address.  
[!] -d, --destination address[/mask][,...]
       Destination  specification.

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

iptables -A INPUT  -i enp2s0f0 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f0 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT  -i enp2s0f1 -p tcp -s 0.0.0.0 -d <IP> --dports 80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp2s0f1 -p tcp -s <IP> -d 0.0.0.0 --sports 80,443 -m state --state ESTABLISHED -j ACCEPT

Конечно, вы должны изменить с IP-адресами вашего компьютера. Если вы хотите разрешить соединения только с определенных IP-адресов, измените также 0.0.0.0 .

2
27.01.2020, 23:34

Теги

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