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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-07-04 20:29:08

  gwad - Użytkownik

gwad
Użytkownik
Zarejestrowany: 2014-07-03

(FreeBSD) IPFW: WAN + LAN1 + LAN2

Mam router oparty na FreeBSD z 3-ma interfejsami:
em0 - 192.168.2.2/24 (wyjście do LAN2)
em1 - 192.168.1.2/24 (wyjście do LAN1)
sk0 - 192.168.3.2/24 (wyjście do WAN)
Przez sk0 jestem połączony do routera sprzętowego dostawcy Internetu. Na tym interfejsie mam NAT.
Mogę uzyskać połączenia:
- z FreeBSD do LAN1
- z FreeBSD do LAN2
- z FreeBSD do WAN
- z FreeBSD do Internetu
- z LAN2 do FreeBSD
- z LAN2 do WAN
- z LAN2 do Internetu
- z LAN2 do 192.168.1.2
- z LAN1 do FreeBSD
- z LAN1 do 192.168.2.2
Nie mogę uzyskać połączenia:
- z LAN1 do LAN2
- z LAN2 do LAN1
Jak to zrobić ? Podejrzewam, że może trzeba zrobić jakieś specjalne natowanie, nie wiem jednak jak.
Niektóre moje reguły ipfw:

Kod:

divert 8668 ip4 from any to any via sk0
allow ip from 192.168.2.0/24 to 192.168.1.0/24
allow ip from 192.168.1.0/24 to 192.168.2.0/24

Proszę o pomoc.

Offline

 

#2  2014-07-07 09:22:42

  bryn1u - Użytkownik

bryn1u
Użytkownik
Zarejestrowany: 2009-04-17

Re: (FreeBSD) IPFW: WAN + LAN1 + LAN2

to chyba nie jest twoj caly firewall ? korzystasz z /etc/rc.firewall czy masz swoj wlasny napisany ?  w ogole jakie opcje masz skonfigurowane w GENERIC'u ? bo do natd jest potrzebny IPDIVERT, ktorego widze masz w regulce. Gdzie tu jest przekierowanie NAT ?


Opcje w kernelu:

options    IPFIREWALL            # enables IPFW
options    IPFIREWALL_VERBOSE        # enables logging for rules with log keyword
options    IPFIREWALL_VERBOSE_LIMIT=5    # limits number of logged packets per-entry
options    IPFIREWALL_DEFAULT_TO_ACCEPT # sets default policy to pass what is not explicitly denied
options    IPDIVERT            # enables NAT[/quote]
Po trzecie nie lepiej ci uzyc PF, ktory jest standardowo wlaczony we FreeBSD a od FreeBSD 10 caly PF obsluguje SMP ?

Masz dodatkowy wpis w rc.conf ?

gateway_enable="YES"        # enables the gateway
natd_enable="YES"        # enables NAT
natd_interface="rl0"        # specify interface name of NIC attached to Internet
natd_flags="-f /etc/natd.conf"    # -m = preserve port numbers; additional options are listed in natd(8)[/quote]
Przyklad: w natd.conf

redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80[/quote]

Ostatnio edytowany przez bryn1u (2014-07-07 09:40:50)


E-Booki: FreeBSD, OpenBSD, Linux, Hacking, PHP, Catia, Perl_CGI, Mysql ...
[b]http://unix-ebooki.neth.pl/[/b]

Offline

 

#3  2014-07-11 11:11:59

  gwad - Użytkownik

gwad
Użytkownik
Zarejestrowany: 2014-07-03

Re: (FreeBSD) IPFW: WAN + LAN1 + LAN2

Dziękuję za zainteresowanie moim problemem :).

[quote=bryn1u]to chyba nie jest twoj caly firewall ? korzystasz z /etc/rc.firewall czy masz swoj wlasny napisany ?[/quote]
Oczywiście, że to nie jest cały firewall. Napisałem przecież, że to niektóre reguły - istotne dla mojego problemu. Mam własną konfigurację. Reguł jest dużo, są specyficzne dla moich potrzeb, więc nie wymieniałem ich wszystkich.

[quote=bryn1u]w ogole jakie opcje masz skonfigurowane w GENERIC'u ? bo do natd jest potrzebny IPDIVERT, ktorego widze masz w regulce.[/quote]
Pisząc, że mam NAT, miałem na myśli, że mam NAT, który działa, mogę uzyskać połączenia:
- z LAN2 do FreeBSD
- z LAN2 do WAN
- z LAN2 do Internetu
Wymienione przeze mnie reguły, to są reguły aktywne (np. ipfw list), a nie tylko wpisane w skrypcie. Tak więc skoro reguła pokazuje

Kod:

divert 8668 ip4 from any to any via sk0

to znaczy, że IPDIVERT działa.

[quote=bryn1u]Gdzie tu jest przekierowanie NAT ?
Przyklad: w natd.conf

redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80[/quote]
[/quote]
Nie bardzo rozumiem po co ? Nie zamierzam zrobić przekierowania z WAN do jakiegoś hosta, portu. Może niepotrzebnie zasugerowałem, że problem tkwi w natowaniu. Może za bardzo skupiłeś się na natowaniu.

[quote=bryn1u]Po trzecie nie lepiej ci uzyc PF, ktory jest standardowo wlaczony we FreeBSD a od FreeBSD 10 caly PF obsluguje SMP ?[/quote]
Być może masz rację, ale chciałbym jednak zrobić to na IPFW. Pewnie dlatego, że sporo czasu kosztowało mnie stworzenie skryptu. Przy tym to dopiero początki mojej przygody z FreeBSD. Nie chciałbym się na nim zawieźć na początku. Większość innych problemów udaje mi się rozwiązać. Docelowo mam zamiar rozwiązać wszystkie :).

[quote=bryn1u]Masz dodatkowy wpis w rc.conf ?

gateway_enable="YES"        # enables the gateway
natd_enable="YES"        # enables NAT
natd_interface="rl0"        # specify interface name of NIC attached to Internet
natd_flags="-f /etc/natd.conf"    # -m = preserve port numbers; additional options are listed in natd(8)[/quote]
[/quote]
Tak, bardzo podobny. Podstawowy NAT działa.

Mam prośbę, przeczytaj mój post jeszcze raz uważnie. [b]Mój problem to komunikacja pomiędzy dowolnymi hostami w LAN1 i LAN2[/b] (nie WAN).

Właśnie pomyślałem, że to może być problem routingu statycznego w hostach w LAN1 i LAN2. Sprawdzę, przy najbliższej okazji.

Offline

 

#4  2014-07-24 09:39:45

  gwad - Użytkownik

gwad
Użytkownik
Zarejestrowany: 2014-07-03

Re: (FreeBSD) IPFW: WAN + LAN1 + LAN2

[quote=gwad]Właśnie pomyślałem, że to może być problem routingu statycznego w hostach w LAN1 i LAN2. Sprawdzę, przy najbliższej okazji.[/quote]
No i jednak miałem dobre przeczucie, wszystko działa, tylko trzeba było wskazać hostom w LAN-ach gdzie mają szukać hostów z tego innego LAN-a. Poza tym w błąd mnie wprowadził jeden AP Edimax'a. Jest w LAN1 i do tej pory nie można go "spingować" z LAN2. Pewnie to kwestia jego firmware.
Czyli konfiguracja IPFW we FreeBSD była cały czas poprawna.
Temat można zamknąć.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.011 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00135 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='18.118.140.78' WHERE u.id=1
0.00070 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.118.140.78', 1732392812)
0.00032 SELECT * FROM punbb_online WHERE logged<1732392512
0.00066 SELECT topic_id FROM punbb_posts WHERE id=270992
0.00124 SELECT id FROM punbb_posts WHERE topic_id=26096 ORDER BY posted
0.00077 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=26096 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00079 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=26096 ORDER BY p.id LIMIT 0,25
0.00312 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26096
Total query time: 0.00917 s