Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Zastanawiam sie jak skonfigurowac firewall? Jestem poczatkujacy wiec prosze o wyrozumialosc.
mam debiana 7.2
trzy interfejsy sieciowe
eth0 192.168.1.1 dhcp dla gosci
eth1 dostawca uslug dla gosci
eth5 wpieta do istniejacej sieci z istniejacym gateway dla pracownikow
chcialbym miec mozliwosc dostania sie do serwera przez ssh zarowno z eth1 jak I eth5
chcialbym zeby eth0 nie widzialo eth5 czyli goscie nie mieli dostepu do sieci pracownikow
Offline
Na jakim adresie słucha SSh - to się ustawia w konfigu serwera - sshd_config.
Reszta, to rzeźbienie w iptables.
Tu masz instrukcję obsługi Netfiltera:
http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter
A tu mapkę, jak wędrują pakiety przez Netfiltera:
http://jacekalex.sh.dug.net.pl/Iptables-packet-flow.png
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2013-12-11 21:22:47)
Offline
Ssh to nie problem. Lacze sie z obydwu adresow. Bardziej interesuje mnie to, w jaki sposob ustawic interfejsy sieciowe zeby wszystko dzialalo jak trzeba. Eth1 to karta zewnetrzna. Eth0 to interfejs dla gosci na ktorym jest dhcp. Eth5 to dodatkowy interfejs ktory jest wpiety do sieci pracowniczej z wlasna bramka. Ssh do serwera dziala ale z serwera jakos powoli sie strony otwieraja. Dhcp daje adresy ale nie ma dostepu do internetu. Czy to jest kwestia ustawienia firewalla na iptables?
Offline
To kwestia ustawienia Firewalla i routingu.
Tu masz opis prostego udostępniania netu prze NAT z włączonym DHCP:
http://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_%28masq%29/
W Twoim przypadku trzeba do niego "dorzeźbić" sieć na eth5, ale to już nie jest żadna magia.
I radziłbym ponazywać w udevie te interfejsy, bo ten ostatni miewa niezłe poczucie humoru, i potrafi czasem (zazwyczaj przy aktualizacji) zamienić interfejsy nazwami.
W ogóle do systemu trzeba mieć coś w rodzaju ograniczonego zaufania.
Pozdro
;-)
Offline
wszystko teraz dziala oprocz polaczenia przez ssh na eth5. to moj firewall. gdzie robie blad?
eth0 192.168.1.1 255.255.252.0
eth1 192.168.10.1 255.255.255.0
eth5 10.10.1.1 255.255.0.0
#!/bin/bash IPT="/sbin/iptables" # czyszczenie tablic $IPT -F $IPT -F -t nat # wyrzucenie wszystkiego $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT #Wejscie na serwer $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -i eth1 -j ACCEPT $IPT -A INPUT -i eth0 -j ACCEPT $IPT -A INPUT -i eth5 -j ACCEPT #$IPT -A INPUT -p tcp -m tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable #$IPT -A INPUT -p tcp -m tcp --dport 1080 -j REJECT --reject-with icmp-port-unreachable $IPT -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 5/sec -j ACCEPT $IPT -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT $IPT -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT $IPT -A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT $IPT -A INPUT -p icmp -m state --state RELATED -j ACCEPT $IPT -A INPUT -i eth0 -p tcp -m state --state NEW -m multiport --dports 22,80,21,20,25,110,53,443 -j ACCEPT $IPT -A INPUT -i eth0 -p udp -m state --state NEW -m multiport --dports 22,80,21,20,25,110,53,443 -j ACCEPT $IPT -A INPUT -i eth0 -p tcp -m state --state NEW -m multiport --dports 40000:45000 -j ACCEPT $IPT -A INPUT -i eth0 -p udp -m state --state NEW -m multiport --dports 40000:45000 -j ACCEPT $IPT -A INPUT -i eth1 -p tcp -m state --state NEW -m multiport --dports 22,80,21,20,25,110,53,443 -j ACCEPT $IPT -A INPUT -i eth5 -p tcp -m state --state NEW -m multiport --dports 22,80,21,20,25,110,53,443,270 -j ACCEPT $IPT -t nat -A POSTROUTING -s 192.168.0.0/22 -j SNAT -o eth1 --to-source 192.168.10.1 $IPT -t nat -A POSTROUTING -s 192.168.0.0/22 -j SNAT -o eth0 --to-source 192.168.10.1 $IPT -t nat -A POSTROUTING -s 10.10.0.0/16 -j SNAT -o eth0 --to-source 192.168.10.1 $IPT -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 25/sec -j ACCEPT $IPT -A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 5/sec -j ACCEPT $IPT -A FORWARD -p tcp -m state --state ESTABLISHED -j ACCEPT $IPT -A FORWARD -p tcp -m state --state RELATED -j ACCEPT $IPT -A FORWARD -p udp -m state --state ESTABLISHED -j ACCEPT $IPT -A FORWARD -p udp -m state --state RELATED -j ACCEPT $IPT -A FORWARD -p icmp -m state --state ESTABLISHED -j ACCEPT $IPT -A FORWARD -p icmp -m state --state RELATED -j ACCEPT $IPT -A FORWARD -p gre -m state --state ESTABLISHED -j ACCEPT $IPT -A FORWARD -p gre -m state --state RELATED -j ACCEPT $IPT -A FORWARD -s 192.168.0.0/22 -d 0/0 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward
Ostatnio edytowany przez vocal (2013-12-16 18:15:25)
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.115.125' WHERE u.id=1 |
0.00064 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.115.125', 1732854957) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732854657 |
0.00068 | SELECT topic_id FROM punbb_posts WHERE id=248187 |
0.00076 | SELECT id FROM punbb_posts WHERE topic_id=24799 ORDER BY posted |
0.00068 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=24799 AND t.moved_to IS NULL |
0.00004 | SELECT search_for, replace_with FROM punbb_censoring |
0.00085 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=24799 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=24799 |
Total query time: 0.00593 s |