Schleife zum Blockieren von DHCP-Ports mit iptables, außer dem Datenverkehr zwischen meinem Server und meinen Clients

469
ajcg

Ich möchte den DHCP-Verkehr in meinem lokalen Netzwerk mit iptables blockieren. Beispiel:

 iptables -t mangle -A PREROUTING -p udp -m multiport --dports 67,68 -j DROP iptables -A INPUT -p udp -m multiport --dports 67,68 -j DROP iptables -A FORWARD -p udp -m multiport --dports 67,68 -j DROP 

Erlaube es aber nur zwischen meinem dhcp-Server (192.168.0.20) und meinen Clients (192.168.0.0/24), einem isc-dhcp-Server-Datenverkehr (eth1). Ich möchte also eine Schleife erstellen. Dies ist meine Regel, funktioniert aber nicht:

# DHCP AUTHORITATIVE isc-dhcp-server traffic (on eth1)  dhcpserver="192.168.0.20"   for ip in $dhcpserver; do iptables -t mangle -A PREROUTING -d $ip -i eth1 -p udp -m multiport --dports 67,68 -j ACCEPT iptables -A INPUT -s $ip -i eth1 -p udp -m multiport --sports 67,68 -j ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp -m multiport --dports 67,68 -d $ip -j ACCEPT done iptables -t mangle -A PREROUTING -p udp -m multiport --dports 67,68 -j DROP iptables -A INPUT -p udp -m multiport --dports 67,68 -j DROP iptables -A FORWARD -p udp -m multiport --dports 67,68 -j DROP 

Bitte helfen Sie mir, das Problem zu beheben. Vielen Dank

0
DHCP ist kein Protokoll zum Weiterleiten. Ihr Beispiel selbst zeigt IP-Adressen im selben LAN: kein Routing. Dies sollte wahrscheinlich auf Ethernet-Ebene erfolgen (ebtables oder nftables ... bridge, mit Schwierigkeiten). Was Sie wollen, kann wahrscheinlich mit [Private VLAN] (https://en.wikipedia.org/wiki/Private_VLAN) gelöst werden, wird jedoch normalerweise auf Netzwerkgeräten ausgeführt (und es ist selten, dass ein Switch mit 20 Ports unter Linux ausgeführt wird, also selten implementiert mit einer Linux-Lösung). A.B vor 5 Jahren 0

0 Antworten auf die Frage