1

Я возился с моим Raspberry Pi, пытаясь настроить Squid в качестве прокси-сервера. В процессе я наткнулся на командную конструкцию в файле интерфейсов, о которой я не знал: pre-up

Точная конструкция была

iface lo inet loopback
pre-up iptables-restore < /etc/iptables.bridge.rules

и файл /etc/iptables.bridge.rules был

*nat
-A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 3128
COMMIT

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

ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6
        --ip-destination-port 80 -j redirect --redirect-target ACCEPT

Спасибо....РДК

1 ответ1

0

Учитывая простоту поставленной задачи, вы можете очень просто поместить следующую строку в /etc/network/interfaces

pre-up ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT

или вы можете создать исполняемый файл /home/my_name/ebtables.rules с контентом

#!/bin/bash
ebtables -t broute -A BROUTING -p IPv4 --ip-protocol 6 --ip-destination-port 80 -j redirect --redirect-target ACCEPT

сделайте его исполняемым, затем поместите следующую строку в /etc/network/interfaces

pre-up /home/my_name/ebtables.rules

Насколько я знаю, в Linux нет команд типа ebtables-save и ebtables-restore . Или лучше, когда-то были, но они были прекращены, потому что они были сломаны, и никто не будет их поддерживать. Этот парень предоставляет свою собственную версию их; ИМХО, это больше работы, чем нужно делать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .