[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Xen 3.4.2 networking help
Hi Again, just a short step-by-step guide. Am Dienstag, den 26.10.2010, 23:54 -0700 schrieb Alexander Zherdev: > Pardon my long email below, I hope it will shed some light. > > I've googled and tried various things but nothing seem to work. I have > upgraded to 3.4.3 of Xen and the kernel had an update too. so u had a lot of fun ;-) > My brain is fried right now. The only thing that seems to work is > bridged mode. In bridged mode, my DomU gets the DHCP from dnsmasq and > it can then surf the web. But I can't get to it from outside. In route > or nat mode, the DomU can't even get out. Below is a test in NAT mode > of xend. Dont use NAT - its just MASQUERADING! Communication from internet would be only possible through portforwarding.... > Below I have a pretty verbose output of iptables, ip r, and ifconfig > right after I boot the physical server, then after I start the DomU, > and then after I apply the SNAT and DNAT settings (only ip r changes > then). > > I appreciate any help that you have. > > ----------------------------- > > Kernel: 2.6.18-194.17.4.el5xen > Xen: 3.4.3 > Source: www.gitco.de > > /etc/xen/xend-config.sxp > (network-nat) > (vif-nat) Please do the following. - Disable default Firewall (only to get ur setup running) # service iptables off - Write down a ugly script, something like: #!/bin/bash # i used /27 since your public-net was /27 too # 192.168.128.65 is dom0-IP brctl addbr xen-privatelan ip a a 192.168.128.65/27 dev xen-privatelan ifconfig xen-privatelan up echo 1 > /proc/sys/net/ipv4/ip_forward - and save it e.g. to /etc/xen/scripts/network-mynet - make it executable chmod +x /etc/xen/scripts/network-mynet - change any kind of xen-networking-script to e.g. ... (network-script network-mynet) (vif-script vif-bridge) ..... ######## reboot ur dom0 ##################### After reboot setup your windows-box to use the bridge "xen-privatelan" - change domU.cfg ... vif = [ 'type=ioemu, bridge=xen-privatelan, mac=00:16:3e:00:01:02' ] ..... - start ur domU - setup nw-settings in domU (192.168.128.70/27 gw: 192.168.128.65) ^^^^ dom0-IP - at this point u should be able to ping dom0 from ur domU! access to internet and from internet to domU should NOT work Otherwise triplecheck "brctl show", ip r s, and friends... - Setup "1:1-NAT" iptables -t nat -A PREROUTING -d XXX.XXX.XXX.70 -j DNAT --to-destination 192.168.128.70 iptables -t nat -A POSTROUTING -s 192.168.128.70 -j SNAT --to-source XXX.XXX.XXX.70 --> domU has internal IP 192.168.128.70 and is reachable via externalIP XXX.XXX.XXX.70 --> domU should be able to ping the "internet" --> domU should be available from "internet" trough XXX.XXX.XXX.70 Am i right? :-) cu, thomas > Attempted the SNAT/DNAT configuration using this: > > iptables -t nat -A PREROUTING -i eth0 -d XXX.XXX.XXX.70 -j DNAT > --to-destination 192.168.122.150 > iptables -t nat -A POSTROUTING -o eth0 -s 192.168.122.150 -j SNAT > --to-source XXX.XXX.XXX.70 > route add -host XXX.XXX.XXX.70 vif1.0 > arp -Ds XXX.XXX.XXX.70 vif1.0 > -> SIOCSARP: Invalid argument > > Windows Configuration > DHCP > IP 192.168.122.150 > MS 255.255.255.0 > GW 192.168.122.1 > > CLEAN BOOT ------------------------------------ > > ifconfig > eth0 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet addr:XXX.XXX.XXX.67 Bcast:XXX.XXX.XXX.95 > Mask:255.255.255.224 > inet6 addr: fe80::225:90ff:fe1b:e67e/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > eth0:1 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet addr:XXX.XXX.XXX.70 Bcast:XXX.XXX.XXX.95 > Mask:255.255.255.224 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > lo Link encap:Local Loopback > inet addr:127.0.0.1 Mask:255.0.0.0 > inet6 addr: ::1/128 Scope:Host > UP LOOPBACK RUNNING MTU:16436 Metric:1 > > peth0 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet6 addr: fe80::225:90ff:fe1b:e67e/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > Memory:fafe0000-fb000000 > > virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 > inet addr:192.168.122.1 Bcast:192.168.122.255 > Mask:255.255.255.0 > inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > > iptables -L > Chain INPUT (policy ACCEPT) > target prot opt source destination > ACCEPT udp -- anywhere anywhere udp > dpt:domain > ACCEPT tcp -- anywhere anywhere tcp > dpt:domain > ACCEPT udp -- anywhere anywhere udp > dpt:bootps > ACCEPT tcp -- anywhere anywhere tcp > dpt:bootps > > Chain FORWARD (policy ACCEPT) > target prot opt source destination > ACCEPT all -- anywhere 192.168.122.0/24 state > RELATED,ESTABLISHED > ACCEPT all -- 192.168.122.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 > > Chain OUTPUT (policy ACCEPT) > target prot opt source destination > > ip r > XXX.XXX.XXX.64/27 dev eth0 proto kernel scope link src > XXX.XXX.XXX.67 > 192.168.122.0/24 dev virbr0 proto kernel scope link src > 192.168.122.1 > 169.254.0.0/16 dev eth0 scope link > default via XXX.XXX.XXX.65 dev eth0 > > /etc/dnsmasq.conf > dhcp-range=192.168.122.10,192.168.122.250,255.255.255.0,12h > dhcp-host=00:16:3e:00:01:02,192.168.122.150 > > /vm/cfg/vm-000002/vm-000002.xen > import os, re > arch = os.uname()[4] > if re.search('64', arch): > arch_libdir = 'lib64' > else: > arch_libdir = 'lib' > > kernel = "/usr/lib/xen/boot/hvmloader" > builder='hvm' > memory = 8192 > name = "vm-app-1a" > uuid = "C37B45AE-62E3-4034-BAD6-D0D3E127333E" > > vcpus = 2 > pae = 1 > acpi = 1 > apic = 1 > cpus = "2-7" > vif = [ 'type=ioemu, bridge=virbr0, mac=00:16:3e:00:01:02, > ip=192.168.122.150' ] > > disk = [ 'phy:/dev/vg00/vm-000002-0,hda,w' ] > > on_poweroff = 'destroy' > on_reboot = 'restart' > on_crash = 'restart' > > device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm' > boot = "c" > > sdl=0 > vnc=1 > vnclisten="XXX.XXX.XXX.67" > vncpasswd='vnc' > stdvga=0 > serial='pty' > usbdevice='tablet' > > > > AFTER VM CREATED ------------------------------------ > > > > > ifconfig > eth0 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet addr:XXX.XXX.XXX.67 Bcast:XXX.XXX.XXX.95 > Mask:255.255.255.224 > inet6 addr: fe80::225:90ff:fe1b:e67e/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > eth0:1 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet addr:XXX.XXX.XXX.70 Bcast:XXX.XXX.XXX.95 > Mask:255.255.255.224 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > lo Link encap:Local Loopback > inet addr:127.0.0.1 Mask:255.0.0.0 > inet6 addr: ::1/128 Scope:Host > UP LOOPBACK RUNNING MTU:16436 Metric:1 > > peth0 Link encap:Ethernet HWaddr 00:25:90:1B:E6:7E > inet6 addr: fe80::225:90ff:fe1b:e67e/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > Memory:fafe0000-fb000000 > > tap1.0 Link encap:Ethernet HWaddr 2E:59:30:A2:97:17 > inet6 addr: fe80::2c59:30ff:fea2:9717/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF > inet addr:192.168.122.21 Bcast:0.0.0.0 > Mask:255.255.255.255 > UP BROADCAST MULTICAST MTU:1500 Metric:1 > > virbr0 Link encap:Ethernet HWaddr 2E:59:30:A2:97:17 > inet addr:192.168.122.1 Bcast:192.168.122.255 > Mask:255.255.255.0 > inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > iptables -L > Chain INPUT (policy ACCEPT) > target prot opt source destination > ACCEPT udp -- anywhere anywhere udp > dpt:domain > ACCEPT tcp -- anywhere anywhere tcp > dpt:domain > ACCEPT udp -- anywhere anywhere udp > dpt:bootps > ACCEPT tcp -- anywhere anywhere tcp > dpt:bootps > > Chain FORWARD (policy ACCEPT) > target prot opt source destination > ACCEPT all -- anywhere anywhere state > RELATED,ESTABLISHED PHYSDEV match --physdev-out vif1.0 > ACCEPT udp -- anywhere anywhere > PHYSDEV match --physdev-in vif1.0 udp spt:bootpc dpt:bootps > ACCEPT all -- anywhere anywhere state > RELATED,ESTABLISHED PHYSDEV match --physdev-out vif1.0 > ACCEPT all -- 192.168.122.150 anywhere > PHYSDEV match --physdev-in vif1.0 > ACCEPT all -- anywhere 192.168.122.0/24 state > RELATED,ESTABLISHED > ACCEPT all -- 192.168.122.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 > > Chain OUTPUT (policy ACCEPT) > target prot opt source destination > > ip r > 192.168.122.150 dev vif1.0 scope link src 192.168.122.21 > XXX.XXX.XXX.64/27 dev eth0 proto kernel scope link src > XXX.XXX.XXX.67 > 192.168.122.0/24 dev virbr0 proto kernel scope link src > 192.168.122.1 > 169.254.0.0/16 dev eth0 scope link > default via XXX.XXX.XXX.65 dev eth0 > > > AFTER SNAT/DNAT ----------------------------- > > 192.168.122.150 dev vif1.0 scope link src 192.168.122.21 > XXX.XXX.XXX.70 dev vif1.0 scope link > XXX.XXX.XXX.64/27 dev eth0 proto kernel scope link src > XXX.XXX.XXX.67 > 192.168.122.0/24 dev virbr0 proto kernel scope link src > 192.168.122.1 > 169.254.0.0/16 dev eth0 scope link > default via XXX.XXX.XXX.65 dev eth0 > > > > > Alexander Zherdev > azherdev@xxxxxxxxx > > > > > ______________________________________________________________________ > From: Thomas Halinka <lists@xxxxxxxxx> > To: Alexander Zherdev <azherdev@xxxxxxxxx> > Cc: xen-users@xxxxxxxxxxxxxxxxxxx > Sent: Tue, October 26, 2010 9:59:06 AM > Subject: Re: [Xen-users] Xen 3.4.2 networking help > > Hi Alexander, > > Am Dienstag, den 26.10.2010, 09:44 -0700 schrieb Alexander Zherdev: > > (If this is a double post, I apologize, my email client crashed when > I > > first sent it) > > > > I need some help to configure a secure network on my Xen server. I > > have been looking online and it seems a I need a routed network. But > I > > am having a terrible time implementing it. > > > > My setup: > > > > Xen 3.4.2 > > CentOS 5.5 Dom0 > > 1 NIC (eth0) > > All guests will be HVM > > > > What I want to do is something similar to a firewall and port > > forwarding. > > > > e.g. > > > > DomU.1 has DHCP address of 10.0.0.50 (DHCP matches MAC to assign > same > > address and simplifies in creating templates) > > DomU.2 has DHCP address of 10.0.0.60 (DHCP matches MAC to assign > same > > address and simplifies in creating templates) > > etc. > > > > Dom0 eht0 has public IP of 92.82.72.100 that forwards port 22 + 80 + > > 443 to 10.0.0.50 > > Dom0 eht0 has public IP of 92.82.72.101 that forwards port 21 + 22 + > > 80 + 443 to 10.0.0.60 > > etc. > > > > Ideally, the main network card will have a bunch of public IPs that > > will individually route to internal DomU systems that have private > IP > > addresses. > > So the terms your are searching are SNAT and DNAT. i would't recommend > pure Portforwarding, since it seems to much fiddling, which each > individual port. > > Use SNAT and DNAT in Dom0 and protect your domU by simple > Port-Filter... > > > > > I also need to prevent a DomU from: a) stealing other IPs > > this is simple: > > vif = [ 'ip=10.0.0.50,mac=AA:BB:CC:DD:EE:FF' ] > > > and b) communicating with other private systems unless Dom0 sais ok. > > 1) Each domU has its own Bridge > or > 2) 10.0.0.50/32 and only ONE Route to your GW aka Dom0 > > > Right now, I do not need to have DomU on different physical servers > > sharing same network - what open vswitch provides as I understand it > - > > that's phase 2. But of course if it provides what I need above > easily, > > then I'm for it. > > No Need for openvSwitch - can be easily accomplished with simple > Unix-Tools ;-) > > > > > What do I need? I know how to accomplish most of it using real > > hardware with firewalls, vlans, etc. > > Just ask aunt google for help, e.g. > http://www.adamsinfo.com/full-nat-dnat-and-snat-aka-11-nat-1-to-1-nat/ > > seems sufficient for your needs. > > > > > I am fairly new to Xen so please, if possible, provide examples. > > > > Alexander Zherdev > > azherdev@xxxxxxxxx > > hth, > > > thomas > > > > _______________________________________________ > > Xen-users mailing list > > Xen-users@xxxxxxxxxxxxxxxxxxx > > http://lists.xensource.com/xen-users > > > > _______________________________________________ > Xen-users mailing list > Xen-users@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |