ipfw (2)

mikaslow

Well-Known Member
Hallo zusammen ich hätte eine Frage bzgl. ipfw

Ich arbeitete früher mit ipf.rules und ipnat.rules und möchte nun auf ipfw wechseln.
Mit ipf und ipnat gab es keine probleme jedoch begreife ich das prinzip von ipfw nicht ganz.

Ich habe die anderen Tutorials hier gelesen! (zu ipfw) und wollte annalog zu dem Tut von asg meine ipfw Regeln erstellen

Meine Regeln sehen momentan so aus. (/etc/ipfw.rules)

ipfw add allow ip from any to any via rl1 (rl1=externes Interface)
ipfw add allow ip from any to any via lo0

ipfw add allow tcp from any to any 53 setup
ipfw add allow tcp from any to any 80 setup

ipfw add allow udp from any to 62.2.215.51 out xmit rl1
ipfw add allow tcp from any to 62.2.215.51 out xmit rl1

ipfw add allow icmp from any to any


Mit dem letzten Eintrag (ipfw add allow icmp from any to any) sollte ich doch mindestens mich selber (localhost) pingen können nicht wahr?
ping localhost zeigt stattdessen No route to host an.

noch zur Info (ich bin nach dem Tut von asg gegangen)
meine rc.conf (wichtige Einträge für ipfw)
firewall_type="OPEN"
firewall_script="/etc/ipfw.rules
firewall_enable="YES"
firewall_quiet="NO"
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="rl1"
natd_flags="-dynamic -f/etc/firewall/natd.conf"

meine dmesg |more sagt mir... IP packet filtering initialized divert disabled, rule-based forwarding enabled, default to deny, loging disabled.

Falls ihr weitere Angaben benötigt... nur nachfragen
Bitte schreibt mir keine Antworten rtfm.... etc. das hilft mir auch nicht gerade viel weiter.
Also falls jemand eine Ahnung oder Vermutung hätte wo ich Fehler gemacht habe der soll sich doch mal melden

Besten Dank im Voraus

Team Mikaslow Security
 
Zuletzt bearbeitet:
ich nehme an, du gehst mit Userland ppp online?
Wenn ja, dann empfehle ich Dir NAT von ppp zu nehmen, statt natd.
das machst du einfach, indem du in die /etc/rc.conf natd_enable="NO" schreibst, und in die /etc/ppp/ppp.conf nat enable yes

Solltest du weiterhin natd benutzen wollen, brauchst du die Option IPDIVERT im Kernel und eine entsprechende divert regel in deinem Regelset.

Wenn du das gemacht hast frag einfach weiter :)
 
Jaja ...dass mit nat mag ja stimmen ...nur wollte ich fragen wieso das ich mich selber nicht einmal pingen kann...(Dazu wird Nat doch nicht benötigt)

Team Mikaslow Security INC
 
dasselbe resultat...
ping localhost ==> No route to host...
Was soll den netstat -r in diesem fall bringen?
 
zeigt deine routing tabelle.
zeig uns die auch mal.
anscheinend liegt wohl da der hund begraben.
und ifconfig ausgabe auch gleich.
und ipfw show
 
Also Leute hier meine Configs

Der Securelevel auf meiner FW ist
kern_securelevel_enable="no"
kern_securelevel="1"

----------
-ifconfig-
----------

ste0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.4.1 netmask 0xffffff00 broadcast 192.168.4.255
inet6 fe80::205:5dff:fe7d:25b8%ste0 prefixlen 64 scopeid 0x1
ether 00:05:5d:7d:25:b8
media: Ethernet autoselect (none)
status: no carrier
ste1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.5.1 netmask 0xffffff00 broadcast 192.168.5.255
inet6 fe80::205:5dff:fe7d:25b9%ste1 prefixlen 64 scopeid 0x2
ether 00:05:5d:7d:25:b9
media: Ethernet autoselect (none)
status: no carrier
ste2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:05:5d:7d:25:ba
media: Ethernet autoselect (none)
status: no carrier
ste3: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:05:5d:7d:25:bb
media: Ethernet autoselect (none)
status: no carrier
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fe80::250:bfff:fed7:7b00%rl0 prefixlen 64 scopeid 0x5
ether 00:50:bf:d7:7b:00
media: Ethernet autoselect (none)
status: no carrier
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<rxcsum,txcsum>
inet 192.168.9.1 netmask 0xffffff00 broadcast 192.168.9.255
inet6 fe80::204:75ff:febf:fe36%xl0 prefixlen 64 scopeid 0x6
inet 192.168.8.11 netmask 0xffffffff broadcast 192.168.8.11
ether 00:04:75:bf:fe:36
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255
inet6 fe80::210:a7ff:fe1e:a5c7%rl1 prefixlen 64 scopeid 0x7
ether 00:10:a7:1e:a5:c7
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.16.3.1 netmask 0xffffff00 broadcast 172.16.3.255
inet6 fe80::260:97ff:fe84:83e0%xl1 prefixlen 64 scopeid 0x8
ether 00:60:97:84:83:e0
media: Ethernet autoselect (none)
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500

-------------
-ipfw show-
-------------
00010 0 0 allow ip from any to any
00100 0 0 allow ip from any to any via rl1
00200 0 0 allow ip from any to any via lo0
00300 0 0 allow tcp from any to any 80 setup
00400 0 0 allow tcp from any to any 53 setup
00500 0 0 allow udp from any to 62.2.215.51 out xmit rl1
00600 0 0 allow tcp from any to 62.2.215.51 out xmit rl1
00700 0 0 allow icmp from any to any
65535 0 0 deny ip from any to any

-----------------
-Routing Table-
------------------
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default 172.16.1.1 UGSc 1 0 rl1
localhost localhost UH 0 3 lo0
172.16.1/24 link#7 UC 1 0 rl1
172.16.1.1 link#7 UHLW 2 0 rl1
172.16.3/24 link#8 UC 0 0 xl1
192.168.2 link#5 UC 0 0 rl0
192.168.4 link#1 UC 0 0 ste0
192.168.5 link#2 UC 0 0 ste1
192.168.8.11/32 link#6 UC 0 0 xl0
192.168.9 link#6 UC 0 0 xl0

Internet6:
Destination Gateway Flags Netif Expire
localhost.devnull. localhost.devnull. UH lo0
fe80::%ste0 link#1 UC ste0
fe80::205:5dff:fe7 00:05:5d:7d:25:b8 UHL lo0
fe80::%ste1 link#2 UC ste1
fe80::205:5dff:fe7 00:05:5d:7d:25:b9 UHL lo0
fe80::%rl0 link#5 UC rl0
fe80::250:bfff:fed 00:50:bf:d7:7b:00 UHL lo0
fe80::%xl0 link#6 UC xl0
fe80::204:75ff:feb 00:04:75:bf:fe:36 UHL lo0
fe80::%rl1 link#7 UC rl1
fe80::210:a7ff:fe1 00:10:a7:1e:a5:c7 UHL lo0
fe80::%xl1 link#8 UC xl1
fe80::260:97ff:fe8 00:60:97:84:83:e0 UHL lo0
fe80::%lo0 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#10 UHL lo0
ff01:: localhost.devnull. U lo0
ff02::%ste0 link#1 UC ste0
ff02::%ste1 link#2 UC ste1
ff02::%rl0 link#5 UC rl0
ff02::%xl0 link#6 UC xl0
ff02::%rl1 link#7 UC rl1
ff02::%xl1 link#8 UC xl1
ff02::%lo0 localhost.devnull. UC lo0

Noch eine kleine Frage.
Mir ist bewusst das bei ipfw show die letzte regel eine deny ist. Jedoch steht in meiner rc.conf firewall_type="OPEN" ==> Das heisst doch das meine Firewall offen da steht oder????
Danke mal für euere Tipps.

Team Mikaslow
 
SORRY GEHT NICHT: NO ROUTE TO HOST!


jep tatsächlich 8 Interfaces!
(Wir heissen ja Team Mikaslow Sec. Inc.)
 
Zuletzt bearbeitet:
bei mir habe ich auch den icmp typ angegeben, die stehen in man ipfw

weiß nicht ob es ohne geht, aber bei mir geht es so!

ich habe folgende icmp rules:

# icmp erlauben (ohne code)
### allow path-mtu in both directions
add 00700 allow icmp from any to any icmptypes 3
### allow source quench in and out
add 00701 allow icmp from any to any icmptypes 4
### allow me to ping and receive response back (but nobody can ping me)
add 00702 allow icmp from any to any icmptypes 8 out
add 00703 allow icmp from any to any icmptypes 0 in
### allow me to run traceroute
add 00704 allow icmp from any to any icmptypes 11 in
 
Funktioniert leider immer noch nicht...
No route to host problem (bei Ping localhost und 127.0.0.1)

Falls noch jemand eine Idee hätte, wäre ich im sehr dankbar.
Ich will ipfw unbedingt zum laufen bringen!

Grüsse Team Mikaslow
 
###########################
#Hier mal meine /etc/hosts Datei#
###########################

::1 localhost.devnull.tv localhost
127.0.0.1 localhost.devnull.tv localhost
172.16.1.2 phil.devnull.tv phil
172.16.1.2 phil.devnull.tv.
192.168.8.2 mikaslow loghost

############################
#Hier mal meine /etc/rc.conf Datei#
############################

network_interfaces="xl0 xl0_alias0 rl0 rl1 xl1 lo0 ste0 ste1" #Vorhandene Interfaces auf der Firewall
defaultrouter="172.16.1.1" #Default Gateway der Firewall
gateway_enable="YES" #Host ist auch ein Gateway (==>YES)
hostname="phil.devnull.tv" #Hostname
ifconfig_ste0="inet 192.168.4.1 netmask 255.255.255.0"
ifconfig_ste1="inet 192.168.5.1 netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.2.1 netmask 255.255.255.0" #rl0 Interface phil
ifconfig_xl0="inet 192.168.9.1 netmask 255.255.255.0" #xl0 Interface micha
ifconfig_xl0_alias0="inet 192.168.8.11 netmask 255.255.255.255" #xl0_alias0 Interface micha
ifconfig_rl1="inet 172.16.1.2 netmask 255.255.255.0" #rl1 interface extern (direct internet)
ifconfig_xl1="inet 172.16.3.1 netmask 255.255.255.0" #xl1 zusaetzliches Interface (DMZ)
firewall_type="OPEN" #Test fuer ipfw
firewall_script="/etc/ipfw.rules"
firewall_enable="YES"
firewall_quiet="NO"
inetd_enable="NO" #Netzwerk-Daemon-Dispatcher wird nicht gestartet.
kern_securelevel_enable="NO" # ???? yes
kern_securelevel="1" # ???? parameter 2
nfs_reserved_port_only="YES" #NFS wird nur auf sicheren Ports zur Verfuegung gestellt
sendmail_enable="NONE" #Sendmail Daemon wird nicht gest.
sshd_enable="YES" #SSH Daemon wird gestartet
usbd_enable="YES" #USB Daemon wird gestartet
update_motd="NO" #Message of the Day wird nicht gest.
syslog_flags="-ss" # ????
sshd_flags="-4" #Zusaetzliche Parameter fuer sshd (IPv4 only)
#ipfilter_enable="YES" #ipfilter wird aktiviert
#ipfilter_flags="" #Zusaetzliche Flags fuer ipfilter
#ipmon_enable="YES" #ipmon starten
#ipmon_flags="-Dsva" #Zusaetzliche Flags fuer ipmon (see man-page for more info)
#ipnat_enable="YES" #IPNAT wird aktiviert
icmp_drop_redirects="YES" #Alle Pakete mit ICMP REDIRECT werden ignoriert
keymap="swissgerman.iso.acc" #Einstellung Fuer CH/DE Keyboardlayout
font_8x8="/usr/share/syscons/fonts/iso02-8x8.fnt" #Font fuer die Zeichengroesse 8x8
sys_allscreens="vidcontrol 80x30" #Aufloesung von 80xBreite 30xTiefe
natd_program="/sbin/natd"
natd_enable="YES"
natd_interface="rl1"
natd_flags="-dynamic -f/etc/firewall/natd.conf"

Also noch kurz eine Bemerkung zu Team Mikaslow Security INC...
Wir sind 2 Lehrlinge Phil Placzek und Micha Aprile aus der Schweiz die auf die Facharbeit lernen...(Unser Ziel war es eine Freebsd Maschine mit Ipfilter und IPNat aufzusetzen mit allen Regeln für eine Firma) Diese Ziel wurde erreicht, und nun wollten wir etwas neues versuchen...
Wir befassen uns seit ca 1 Jahr mit Freebsd und sind noch Newbies auf diesem Gebiet.
Also der Name Team Mikaslow Security Inc, ist nur ein ganz gewöhnlicher Name...ohne jeglichen Sinn....

Grüsse Team Mikaslow Security Inc ;-)
 
Als erste Regel mal reinnehmen:
ipfw add 10 divert natd all from any to any via rl1 # das ist doch das NATD interface?

Neu starten
 
ja das habe ich gemacht.... mein Ziel ist es jedoch nur den LOCALHOST!!! mal zu pingen...(Nat ist momentan eher sekundär) wenn das klappt dann kann ich die Regeln schon erstellen...
Mein problem ist jedoch das ich den Localhost Nicht Pingen kann...===> No route to host...(Keine Ahnung wieso)
Noch eine Frage... kann man die Meldungen die beim Start angezeigt werden in eine Datei reinschreiben so in der Art >> /etc/meinedatei oder so in der Art....oder werden die schon irgendwohin gespeichert?

Grüsse Mikaslow
 
also Leute... es sieht hoffnungslos aus... geht nach all den Zahlreichen versuchen immernoch nicht... keine Ahnung wieso. Falls trotzdem noch jemand eine Ahnung hat==> write us!

Ansonsten möchte ich mich nochmals bei allen bedanken die uns Tipps in diesem Forum gaben!

Grüsse Team Mikaslow
 
Zurück
Oben