Skocz do zawartości

Fedora 18 I Dwie Karty Sieciowe - Iptables


Progsi

Rekomendowane odpowiedzi

witam

Mam skonfigurowana fedore z dwoma kartami sieciowymi - jedna z nich (em0) w trybie dhcp natomiast druga (p13p1) static wraz z serwerem dhcp;

Co muszę zrobić aby z podsieci karty ze statycznym ip (p13p1) miec internet ??? Domyślam się że musze coś zmodyfikować/dodac w iptables...  Szukałem w sieci jednakże nie znalazłem przykładu konfiguracji dla dwóch kart sieciowych.

 

Mam pytanie również odnośnie DNSow -> em0 od usługodawcy dostaje okreslone DNSy, natomiast p13p1 oraz wszystkie podpiete do tego interdejsu dostaja DNS - 192.168.1.1; Wynika to z dhcpd.conf; Jak moge to skonfigurowac aby otrzymywały one dnsy automatycznie z em0 - i czy jest to konieczne do poprawnego działania ??

 

Bede bardzo wdzieczny za pomoc

Pozdrawiam

 

 

Ponizej ustawienia:

 

if config:

em0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.98  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 ____:____:____:____:____  prefixlen 64  scopeid 0x20<link>
        ether __:__:__:__:__:__  txqueuelen 1000  (Ethernet)
        RX packets 3695  bytes 2029231 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3166  bytes 365624 (357.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  memory 0xd0020000-d0040000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 1123  bytes 188381 (183.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1123  bytes 188381 (183.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p13p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.1  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 ____:____:____:____:____  prefixlen 64  scopeid 0x20<link>
        ether __:__:__:__:__:__  txqueuelen 1000  (Ethernet)
        RX packets 185  bytes 18729 (18.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 423  bytes 33676 (32.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xd0120000-d0140000

 

----------------

network-scripts:

 

em0:

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=em0
UUID=________-____-____-____-____________
ONBOOT=yes
ZONE=public
HWADDR=__:__:__:__:__:__
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

 

p13p1:

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=p13p1
UUID=________-____-____-____-____________
ONBOOT=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
ZONE=home
HWADDR=__:__:__:__:__:__
IPADDR0=192.168.2.1
PREFIX0=24


(wszedzie gdzie jest __ - znajduja sie poprawne identyfikatory tj.: uuid oraz HWADDR)

 

 

dhcpd.conf:

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.10 192.168.2.50;
  option domain-name "internal.example.org";
  option domain-name-servers 192.168.2.1;
  option routers 192.168.2.1;
}
 

Odnośnik do komentarza
Udostępnij na innych stronach

Ja swój router konfigurowałem według ściągawki z forum Slackware, mają tam zdrową tendencję do niekomplikowana spraw, jeśli nie ma potrzeby. http://forum.slackware.pl/viewtopic.php?t=3778 , patrz punkt C.

 

W dhcpd.conf w option routers możesz przepisać te same adresy, które dostajesz w routera "wyżej". W końcu codziennie się nie zmieniają i odpadnie ci problem utrzymywania dns-a u siebie. Ewentualnie użyć mojego hiper-duper-skryptu, który zrobi to za ciebie i możesz go sobie odpalać przy każdym uruchamianiu komputera (pomiędzy ifupem em0 a odpaleniem dhcpd):

#!/usr/bin/env python
'''
Program do wpisywania dnsow z
resolv.confa do dhcpd.confa.
'''

# otwieramy pliki
# TODO prawa zapisu i odczytu dla otwieranego
# pliku sa w Pythonie troche zakrecone,
# pewnie da sie ten fragment poprawic
resolvconf = open('/etc/resolv.conf','r').readlines()
dhcpdconf = open('/etc/dhcp/dhcpd.conf','r')
dhcpdconfrl = dhcpdconf.readlines()
dhcpdconf.close()
# dobry sposob na kasowanie zawartosci pliku
dhcpdconf = open('/etc/dhcp/dhcpd.conf','w').close()
# no ale trzeba go potem ponownie otworzyc
dhcpdconf = open('/etc/dhcp/dhcpd.conf','w')

# zczytujemy ipki dnsów z resolv.conf
ipkidnsow = ''
for i in resolvconf:
    if i[0]=='n' and i[1]=='a' and i[2]=='m':
        ipkidnsow += (i[11:len(i)-1])
        ipkidnsow += ', '
# i dodajemy jakis sprawdzony, skoro 
# juz mamy przecinek na koncu 
ipkidnsow += '208.67.222.222'

# nadpisujemy dhcpd.conf
dhcpdconf.writelines([dhcpdconfrl[0], dhcpdconfrl[1], \
                      dhcpdconfrl[2], dhcpdconfrl[3], \
                      '  option routers ', ipkidnsow, ';\n}\n'])
dhcpdconf.close()

Tylko jedna uwaga - zakładamy, że option router to piąta linijka pliku dhcpd.conf. Jeśli będziesz chciał go potem zmodyfikować o dodatkowe opcje (dodając nowe linie), to po odpaleniu tego skryptu dhcpd może nie wstać.

Odnośnik do komentarza
Udostępnij na innych stronach

witam

udalo mi sie dotrzec do informacji iz w fedorze 18 w przypadku wlaczenia dla karty sieciowej em0 w konfiguracji strefe firewalla opcji "Strefa maskarady" natomiast dla jakrty p13p1 - opcji "współdzielone z innymi komputerami" fedora automatycznie przydziela poprana konfiguracje po dhcp komputerom podpietym do p13p1;

moje pytanie - w oparciu o co jest ona przydzielana?? - mianowicie jak moge zmienic zakres sieci - w chwii obecnej adres przydzialany jest postaci 10.42.0... natomaist ja chcialbym postaci 192.168.0.... oraz wybranym kompom przypisac statyczny adres IP;

 

czy ktos wie jak to zrobic??

 

(z tego co wygooglalem to jest to robione chyba za pomoca dnsmasq)

dziekuje

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz zarezerwować niektóre IPki z puli ustawionej w dhcpd.conf dla konkretnych macadresów kart sieciowych, z których przyjdzie prośba o nadanie maszynie adresu IP. Dopisz pod standardową konfiguracją w dhcpd.conf:

host ciasteczko {
hardware ethernet A1:E4:C2:A2:12:DD;
fixed-address 192.168.0.199;
}

A na kreatorkach to ja się nie znam. :P Podaj mi konfigurację iptables, to zobaczymy.

 

HAHA! Okrągły post 1023. (licząc od zera)

Odnośnik do komentarza
Udostępnij na innych stronach

iptables --list

 

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:bootps
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
INPUT_direct  all  --  anywhere             anywhere            
INPUT_ZONES  all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             10.42.0.0/24         ctstate RELATED,ESTABLISHED
ACCEPT     all  --  10.42.0.0/24         anywhere            
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
FORWARD_direct  all  --  anywhere             anywhere            
FORWARD_IN_ZONES  all  --  anywhere             anywhere            
FORWARD_OUT_ZONES  all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
OUTPUT_direct  all  --  anywhere             anywhere            

Chain FORWARD_IN_ZONES (1 references)
target     prot opt source               destination         
FWDI_ZONE_home  all  --  anywhere             anywhere            [goto]
FWDI_ZONE_external  all  --  anywhere             anywhere            [goto]
FWDI_ZONE_public  all  --  anywhere             anywhere            [goto]

Chain FORWARD_OUT_ZONES (1 references)
target     prot opt source               destination         
FWDO_ZONE_home  all  --  anywhere             anywhere            [goto]
FWDO_ZONE_external  all  --  anywhere             anywhere            [goto]
FWDO_ZONE_public  all  --  anywhere             anywhere            [goto]

Chain FORWARD_direct (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_external (1 references)
target     prot opt source               destination         
FWDI_ZONE_external_deny  all  --  anywhere             anywhere            
FWDI_ZONE_external_allow  all  --  anywhere             anywhere            

Chain FWDI_ZONE_external_allow (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_external_deny (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_home (1 references)
target     prot opt source               destination         
FWDI_ZONE_home_deny  all  --  anywhere             anywhere            
FWDI_ZONE_home_allow  all  --  anywhere             anywhere            

Chain FWDI_ZONE_home_allow (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_home_deny (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_public (1 references)
target     prot opt source               destination         
FWDI_ZONE_public_deny  all  --  anywhere             anywhere            
FWDI_ZONE_public_allow  all  --  anywhere             anywhere            

Chain FWDI_ZONE_public_allow (1 references)
target     prot opt source               destination         

Chain FWDI_ZONE_public_deny (1 references)
target     prot opt source               destination         

Chain FWDO_ZONE_external (1 references)
target     prot opt source               destination         
FWDO_ZONE_external_deny  all  --  anywhere             anywhere            
FWDO_ZONE_external_allow  all  --  anywhere             anywhere            

Chain FWDO_ZONE_external_allow (1 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

Chain FWDO_ZONE_external_deny (1 references)
target     prot opt source               destination         

Chain FWDO_ZONE_home (1 references)
target     prot opt source               destination         
FWDO_ZONE_home_deny  all  --  anywhere             anywhere            
FWDO_ZONE_home_allow  all  --  anywhere             anywhere            

Chain FWDO_ZONE_home_allow (1 references)
target     prot opt source               destination         

Chain FWDO_ZONE_home_deny (1 references)
target     prot opt source               destination         

Chain FWDO_ZONE_public (1 references)
target     prot opt source               destination         
FWDO_ZONE_public_deny  all  --  anywhere             anywhere            
FWDO_ZONE_public_allow  all  --  anywhere             anywhere            

Chain FWDO_ZONE_public_allow (1 references)
target     prot opt source               destination         

Chain FWDO_ZONE_public_deny (1 references)
target     prot opt source               destination         

Chain INPUT_ZONES (1 references)
target     prot opt source               destination         
IN_ZONE_home  all  --  anywhere             anywhere            [goto]
IN_ZONE_external  all  --  anywhere             anywhere            [goto]
IN_ZONE_public  all  --  anywhere             anywhere            [goto]

Chain INPUT_direct (1 references)
target     prot opt source               destination         

Chain IN_ZONE_dmz (0 references)
target     prot opt source               destination         
IN_ZONE_dmz_deny  all  --  anywhere             anywhere            
IN_ZONE_dmz_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_dmz_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW

Chain IN_ZONE_dmz_deny (1 references)
target     prot opt source               destination         

Chain IN_ZONE_external (1 references)
target     prot opt source               destination         
IN_ZONE_external_deny  all  --  anywhere             anywhere            
IN_ZONE_external_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_external_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW

Chain IN_ZONE_external_deny (1 references)
target     prot opt source               destination         

Chain IN_ZONE_home (1 references)
target     prot opt source               destination         
IN_ZONE_home_deny  all  --  anywhere             anywhere            
IN_ZONE_home_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_home_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ipp ctstate NEW
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm ctstate NEW

Chain IN_ZONE_home_deny (1 references)
target     prot opt source               destination         

Chain IN_ZONE_internal (0 references)
target     prot opt source               destination         
IN_ZONE_internal_deny  all  --  anywhere             anywhere            
IN_ZONE_internal_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_internal_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ipp ctstate NEW
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm ctstate NEW

Chain IN_ZONE_internal_deny (1 references)
target     prot opt source               destination         

Chain IN_ZONE_public (1 references)
target     prot opt source               destination         
IN_ZONE_public_deny  all  --  anywhere             anywhere            
IN_ZONE_public_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_public_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns ctstate NEW

Chain IN_ZONE_public_deny (1 references)
target     prot opt source               destination         

Chain IN_ZONE_work (0 references)
target     prot opt source               destination         
IN_ZONE_work_deny  all  --  anywhere             anywhere            
IN_ZONE_work_allow  all  --  anywhere             anywhere            

Chain IN_ZONE_work_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW
ACCEPT     udp  --  anywhere             224.0.0.251          udp dpt:mdns ctstate NEW
ACCEPT     udp  --  anywhere             anywhere             udp dpt:ipp ctstate NEW

Chain IN_ZONE_work_deny (1 references)
target     prot opt source               destination         

Chain OUTPUT_direct (1 references)
target     prot opt source               destination         
 

Odnośnik do komentarza
Udostępnij na innych stronach

O nie. Zapomniałem, że teraz jest firewalld. Nic nie kumam z tego, co on robi :) i jak go konfigirować. W każdym razie najważniejszy jest chain INPUT, chain FORWARD i chain OUTPUT. Resztę możesz wywalić, bo to jakieś strefy zdemilitaryzowane i tego typu rzeczy.

 

Translacja adresów IP to raptem jedna komenda z iptables:

iptables -t nat -A POSTROUTING -o em0 -s 192.168.2.0/24 -j MASQUERADE

i ten kreatorek gdzieś tam coś podobnego robi. Ale gdzie, to nie wiem.

 

Ja na swoich komputerach po prostu wyłączam fedorowe demony firewalld oraz iptables i robię sobie malutki plik z regułkami. Jak się ma gotowce do delikatnego przebudowania, to nie jest wcale trudne. I osobiście nie lubię jak firewall zaczyna się od przepuszczania wszystkiego.

Odnośnik do komentarza
Udostępnij na innych stronach

Nic nie kumam z tego, co on robi :) i jak go konfigirować.

Ja "konfiguruję" prosto:

systemctl disable firewalld

systemctl enable iptables

 

;)

 

Ale kiedyś pewnie trzeba sie będzie nauczyć. Na razie to firewalld mizernie wygląda. Wciąż nie widzę możliwości ustawienia domyślnych polityk na DROP dla INPUT, OUTPUT i FORWARD

Odnośnik do komentarza
Udostępnij na innych stronach

witam
 

dzieki za pomoc; skonfigurowalem sobie dnmasq ktory przydziela adresy ip zarowno po p13p1 jak rowniez wlan0; (wykorzystalem hostapd)

 

jednakze jedna rzecz nie daje mi spokoju - aby nadac wla0 adres ip musze wykonac ifconfig wlan0 192.168.2.1; jezeli tego nie zrobie to niestety dnsmasq nie przydziela adresow ip kompom ktore lacza sie do wlan0;

moj problem polega na tym ze ifconfig jest nie trwale i po restarcie musze wykonac je ponownie;

jak moglbym to ustawic tak aby bylo wykonywane automatycznie ?? (opcja dopisania do skryptów startowych - choc wolalbym jakies ustawienie na stale w pliku...)

 

dzieki za pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

jednakze jedna rzecz nie daje mi spokoju - aby nadac wla0 adres ip musze wykonac ifconfig wlan0 192.168.2.1; jezeli tego nie zrobie to niestety dnsmasq nie przydziela adresow ip kompom ktore lacza sie do wlan0;

moj problem polega na tym ze ifconfig jest nie trwale i po restarcie musze wykonac je ponownie;

jak moglbym to ustawic tak aby bylo wykonywane automatycznie ?? (opcja dopisania do skryptów startowych - choc wolalbym jakies ustawienie na stale w pliku...)

Musisz utowrzyć plik /etc/sysconfig/network-scripts/ifcfg-wlan0 i wpisąć odpowiednie wartości np.

DEVICE=wlan0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.2.1
USERCTL=no
NM_CONTROLLED=no

Więcej informacji pod http://docs.fedoraproject.org/en-US/Fedora/17/html/System_Administrators_Guide/s1-networkscripts-interfaces.html

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 weeks later...

 

Translacja adresów IP to raptem jedna komenda z iptables: iptables -t nat -A POSTROUTING -o em0 -s 192.168.2.0/24 -j MASQUERADE i ten kreatorek gdzieś tam coś podobnego robi. Ale gdzie, to nie wiem.

 

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "wlaczony ruter na interfejsie ath0"
iptables -A FORWARD -i ath0 -s 192.168.0.13 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.13 -o eth0 -j MASQUERADE

 

ja jak dzieliłem łącze to miałem tak (tylko ip 192.168.0.13  było dozwolone i było maskowane)

 

Całość skryptu

 

http://wikimarek.educatewiki.com/wiki/GNU/Linux_WI-FI

 

Wersja z ruterem oraz z mostkiem sieciowym

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

próbowałem

echo 1 > /proc/sys/net/ipv4/ip_forward
echo
"wlaczony ruter na interfejsie ath0"
iptables -A FORWARD -i eth0 -s 192.168.1.0 -o eth0 -j ACCEPT
iptables
-t nat -A POSTROUTING -o eth0 -j MASQUERADE

 

niestety przy ping -I p13p1 www.wp.pl otrzymuje

PING www.wp.pl (212.77.100.101) from 192.168.5.1 p13p1: 56(84) bytes of data.

From 192.168.5.1 icmp_seq=1 Destination Host Unreachable
From 192.168.5.1 icmp_seq=2 Destination Host Unreachable
 
 
:((
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...