Jag försöker ställa in en transparent brandvägg med ArchLinux.
Min inställning ser ut så här:
(ISP, IP: 10.90.10.254) \ \ \ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254) +-----------+ | | | PC | |(as server)| +-----------+ \ (eth1-> ip: 10.90.10.100) \ \ (10.90.10.101)\ | (wireless-> ip-range: 10.90.10.102-) +-------+ |Router | +-------+
Min router har ingen brandväggskapacitet, därför måste jag släppa en brandvägg mellan routern och min ISP.
Kommentarer
- Nätverksmasker? Vill du att eth0 och eth1 på " PC " överbryggat?
- Ovanligt att " server " på ISP-anslutningen och " router " bakom servern …
- @HaukeLaging ja, det ' är ovanligt, men jag måste tillämpa några brandväggsregler och trafikkontroll, och routern ' har inte dessa funktioner
- När du säger " router " , menar du verkligen " trådlös åtkomstpunkt "? Det ser verkligen ut som det …
- @derobert ja, jag menar en riktigt router, en Dlink … Jag konfigurerade nätverket med svar från Cha0s och fungerar nu som förväntat!
Svar
För att åstadkomma detta måste du sätta eth0 och eth1 i bridge-läge på datorn och ge 1 ip till bron gränssnitt (inte på de enskilda eterna)
Här är grunderna för överbryggning på linux, för att komma igång http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
Beroende på din distro kan det finnas ett snabbare / bättre sätt att göra överbryggning.
Nu kan det trådlösa IP-intervallet du nämnde inte specificeras via någon konfiguration . Det är upp till dig vilka IP-adresser du tilldelar var.
Du kanske kan styra det via DHCP, men det beror på din övergripande installation och behov.
Kommentarer
- Ok, jag ' Jag läser … Jag använder ArchLinux och sedan efter att jag ' ll söka i ArchWiki. Tack för svaret!
- Jag ställer in bron med netctl (Archlinux standard ' s), Efter detta ställer jag in routern (D-Link DI-524) i bryggläge också, nu fungerar mitt nätverk också, tack igen!
- Observera att med en överbryggad installation gäller inte dina vanliga iptables-brandväggsregler. Du kan ha lite tur med
ebtables
om du vill göra brandvägg, men jag ' rekommenderar istället en dirigerad installation.
Svar
Först bör du aktivera översättning av nätverksadress:
Infoga den här raden
net.ipv4.ip_forward = 1
till
/etc/sysctl.conf
(efter att raden har infogats träder effekt omedelbart) och lägger till brandväggsregel:
iptables -t NAT -A POSTROUTING -! o lo -j MASQUERADE
Och nu det trådlösa nätverket kan skicka paketets problem-dator till ISP
Ytterligare ett förslag: inaktivera ”all” åtkomst till servern och aktivera bara det du verkligen behöver:
iptables -P INPUT DROP
iptables -A INPUT -m state –state RELATED, ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m state –stat NYTT -j ACCPET
de här inställningarna inaktiverar standard ”alla tillåtna” paketflöden, det är inaktiverat för att ansluta från ISP (och WAN) till serverportar, möjliggör outgoung-anslutningar från trådlöst nätverk.
Om du behöver öppna serverportar i brandväggen:
iptables – EN INGÅNG -p tcp -m tcp –dport 22 -j ACCEPT
ersätt tcp till udp om det behövs, och portområden kan lägg till med från: till mönster.
om något är fel och stänger dig själv kan du återställa brandväggsregler:
iptables -F
Det enklaste sättet, om du installerar en webbmin i ditt serversystem, har den ett bra GUI för brandväggskonfigurator. Men kom alltid ihåg kommandot ”iptables -F” om du stänger dig själv och inte kan komma åt webmin
Kommentarer
- I ' har försökt detta men det fungerar inte ', eth0: 10.90.10.1/24; eth1: 10.90.10.100/24; router: 10.90.10.101/24;
% sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
% sudo iptables -t nat -L -n [...] Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
PS: Jag ändrade din iptables-regel för# iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE
Svar
Det borde vara möjligt (ur serverns perspektiv) om du definierar eth0 (och kanske eth1 också) som ett punkt-till-punkt-gränssnitt (se man ip-address
, peer
).
Enligt min mening är adressvalet en dålig idé i alla aspekter. Nätverk av eth1 och WLAN bör inte överlappa varandra.Det är inte möjligt om eth1 inte är ett punkt-till-punkt-gränssnitt och WLAN börjar vid 102.
Ännu värre på routern: Dess LAN-IP är en del av WLAN-nätverket så det måste vara p2p också (kan det konfigureras på routern?).