W mojej instancji OpenWRT dodałem reguły iptables do tabeli filtrów wejściowych, ale problem polega na tym, że po włączeniu systemu stwierdziłem, że reguły zostały usunięte. Co mogę zrobić, aby reguły nie były usuwane automatycznie.
3
ifconfig
wyjście? To nie powinno być konieczne w przypadku tego pytania.Odpowiedzi:
OpenWRT
Istnieje kilka sposobów edycji iptables w OpenWRT.
Bezpośrednie użycie iptables
OpenWRT uruchomi zawartość
/etc/firewall.user
przy starcie. Jest to skrypt powłoki, więc będzie wyglądał mniej więcej tak:Testowanie
/etc/firewall.user
Po edycji
/etc/firewall.user
pliku prawdopodobnie będziesz chciał go przetestować. Wynika to z faktu, że możesz zobaczyć błędy, jeśli wykonasz skrypt podczas uruchamiania. Aby przetestować skrypt:iptables -F
zadziała, ale może usunąć reguły, których nie musisz testować.bash /etc/firewall.user
. Chcesz sprawdzić, czy w skrypcie są jakieś błędy. Jeśli otrzymasz jakieś wiadomości, prawdopodobnie masz literówkę.iptables -L
i upewnij się, że reguły, które chcesz dodać, zostały poprawnie dodane.iptables-save
iiptables-restore
OpenWRT (wraz z innymi dystrybucjami), ma
iptables-save
polecenie. Po uruchomieniuiptables-save > myrules
będziesz mieć plik, który zawiera wszystko, co jest konieczne do przywrócenia reguł iptables.iptables-restore < myrules
przeczyta plik reguł iptables i zastosuje je.Trzeba więc utworzyć
myrules
plik, a następnie uruchomićiptables-restore < myrules
podczas uruchamiania. Możesz uruchomić podczas uruchamiania, edytując/etc/rc.local
plik.Więcej informacji na temat
iptables-save
iiptables-restore
można znaleźć tutaj .Użyj składni konfiguracji zapory OpenWRT
/etc/config/firewall
Plik może być edytowany, jak również. Zapora ogniowa „zapewnia interfejs konfiguracji, który wyodrębnia się z systemu iptables, zapewniając uproszczony model konfiguracji, który jest odpowiedni do większości zwykłych celów, umożliwiając jednocześnie użytkownikowi samodzielne dostarczenie potrzebnych reguł iptables”.Więcej informacji można znaleźć tutaj
Inne dystrybucje
Debian lub Ubuntu
Jeśli korzystasz z Debiana lub Ubuntu, możesz wypróbować
iptables-persistent
pakiet.Powyższe spowoduje zainstalowanie usługi. Następnie zapisze twoje reguły w
/etc/iptables/rules.v4
i/etc/iptables/rules.v6
.Możesz uzyskać więcej informacji o Ubuntu 12.04 tutaj , Ubuntu 14.04 tutaj .
CentOS
Jeśli korzystasz z CentOS, możesz zapisać reguły, uruchamiając:
który zapisze zawartość iptables do
/etc/sysconfig/iptables
. Poprzednia treść/etc/sysconfig/iptables
zostanie zapisana w/etc/sysconfig/iptables.save
.Możesz uzyskać więcej informacji tutaj .
źródło
os.system
, dlaczego nie użyć go dwa razy. Uruchom takżeos.system("echo iptables -D INPUT -m mac-source --mac" + mac + "j DROP") >> /etc/firewall.user
. Uważaj również na ryzyko rażącego wstrzykiwania poleceń podczasos.system
używania, upewnij się, że biała lista zawiera dobre znaki.Możesz napisać skrypt powłoki zawierający wszystkie komendy iptables, a następnie dodać wiersz do /etc/rc.local, aby uruchomić skrypt powłoki automatycznie podczas uruchamiania systemu. Zobacz http://bash.cyberciti.biz/firewall/linux-iptables-firewall-shell-script-for-standalone-server/, aby uzyskać dobry poradnik jak to zrobić.
źródło