Fórum Root.cz
Hlavní témata => Windows a jiné systémy => Téma založeno: Logik 27. 12. 2014, 12:15:44
-
Ahoj,
snažím se rozchodit dnsmasq ve Freebsd jailu. DNS jsem už rozchodil, ale DHCP mi nefunguje.
Síťovou konfiguraci mám následující:
cloned_interfaces="bridge0 lo1"
ifconfig_igb0="inet 192.168.1.198 netmask 255.255.255.0 up"
ifconfig_bridge0="inet 192.168.6.200 netmask 255.255.255.0 addm igb1 up"
ifconfig_igb1="up"
...
jail_dhcp_ip="bridge0|192.168.6.210/24"
DNS normálně funguje (teda funguje poté, co jsem do dnsmasq.conf dal
bridge-interface=bridge0,lo0 a povolil bpf sockety pro jail)
DHCP request z hostitele se k dnsmasq dostane (dle tcdumpu projde přes lo0 interface - proč,
když todle interface jail nemá?), odpověď není žádná. DHCP request z jiného stroje na
síti 192.168.6.1/24 dnsmasq vůbec nepřijme.
Nevíte, kde by moh bejt zakopanej pes?
-
http://dan.langille.org/2013/08/18/creating-a-freebsd-jail-to-run-dhcp-and-dns/
-
Ten návod znám, jenže to bych musel nastavovat bind, kterej je daleko větší moloch než dnsmasq - rád bych zůstal u tohodle jednoduchýho řešení. A taky bych rád pochopil proč to nefunguje a ne něco "naklikal".
-
Popisuješ tu situaci nějak zmateně. Příklad: pokud jail nevidí lo1, tak k němu packet prostě z principu nemůže doputovat.
Střelba do tmy: máš security.jail.allow_raw_sockets=1 ?
Pokud to není ono, tak by asi nejlepší bylo, kdybys mohl dodat výpisy ifconfig uvnitř a vně jailu a výpisy tcpdumpu ve stejným okamžiku na fyzickým rozhraní a na rozhraní, který máš přístupný v jailu.
-
Ahoj,
byl jsem chvíli mimo, tak omluva za zdržení. Raw sockety povolený mam.
Příklad: pokud jail nevidí lo1, tak k němu packet prostě z principu nemůže doputovat.
Jo, to jsem si myslel taky :-)
Reakce na dhcping (platyz je hostitel, dhcp je jail), je tcdump je stejný v jailu i mimo, na bridge0
žádná reakce není.
[root@platys ~]# tcpdump -i lo0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo0, link-type NULL (BSD loopback), capture size 65535 bytes
16:47:31.398271 IP 192.168.6.200.bootpc > 192.168.6.210.bootps: BOOTP/DHCP, Request from 00:00:00:00:00:00 (oui Ethernet), length 250
[root@dhcp /]# dnsmasq --no-daemon
dnsmasq: started, version 2.72 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus i18n IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect
dnsmasq-dhcp: DHCP, IP range 192.168.6.100 -- 192.168.6.199, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 213.46.172.36#53
dnsmasq: using nameserver 213.46.172.37#53
dnsmasq: read /etc/hosts - 2 addresses
dnsmasq-dhcp: DHCP packet received on lo0 which has no address
Ifconfigy:
[root@dhcp /]# ifconfig
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
ether 60:a4:4c:ea:6d:ce
media: Ethernet autoselect
status: no carrier
igb1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
ether 60:a4:4c:ea:6d:cf
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 02:fe:4a:c8:9c:00
inet 192.168.6.210 netmask 0xffffff00 broadcast 192.168.6.255
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 2 priority 128 path cost 2000000
lo1: flags=8008<LOOPBACK,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
[root@platys ~]# ifconfig
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
ether 60:a4:4c:ea:6d:ce
inet 192.168.1.198 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect
status: no carrier
igb1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
ether 60:a4:4c:ea:6d:cf
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 02:fe:4a:c8:9c:00
inet 192.168.6.200 netmask 0xffffff00 broadcast 192.168.6.255
inet 192.168.6.214 netmask 0xffffff00 broadcast 192.168.6.255
inet 192.168.6.210 netmask 0xffffff00 broadcast 192.168.6.255
nd6 options=9<PERFORMNUD,IFDISABLED>
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 2 priority 128 path cost 2000000
lo1: flags=8008<LOOPBACK,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
-
Ha! No tak to je zajímavý, to jsem nevěděl, že je možný :) Že by za to mohly ty raw sockety?! Já jsem v jailech vždycky provozoval jenom TCP/UDP služby, takže tohle jsem netušil.
Přijde mi, že to máš celý nějak zašmodrchaný. Bridge imho vůbec nepotřebuješ, prostě nastav 192.168.6.200 na tom igb1 a zpřístupni ji v jailu, ne? Máš tam na tom bridge0 tři IP adresy ze stejnýho rozsahu, to je špatně. Skoro mi to přijde, jakoby se nějaký interface snažil nastavit pomocí DHCP a adresa z nějakýho důvodu skončila na bridgi (není to tím, že tam nemáš konfiguraci pro lo1?)
No prostě je to jakýsi zašmodrchaný, s tím asi nepomůžu, nechci tě zmást ještě víc ;) vyzkoušený to nemám. Doporučoval bych obrátit se do konfery http://www.cz.freebsd.org/listserv/listinfo/users-l/ tam jsou jiní machři než já, kteří ti určitě poradí správně.
-
Ahoj,
bridge nepotřebuju zatím, ale plánuju tam přidat wifinu, a pak ho potřebovat budu, tak jsem si ho tam přidal hned, abych to pak nemusel celý překopávat. Ty DHCP requesty jsou cíleně vyvolaný pomocí dhcping, těma testuju, jestli je ten DHCP server v jailu dostupnej.
V každym případě díky za snahu poradit, i to se cení :-)
Hezkej Novej rok,
Logik
-
Ty DHCP requesty jsou cíleně vyvolaný pomocí dhcping, těma testuju, jestli je ten DHCP server v jailu dostupnej.
Aha - a jak presne to volas - jestli neni problem v tom...
-
Takhle:
dhcping -s 192.168.6.210 -c 192.168.6.200
-
Chtělo by to celej výpis toho commandu i s jeho výstupem, předtím a potom ifconfig + routovani ("netstat -nr").