When I install Juju, system creates my strange network interface and runs services on it, but I need to install Juju on eth0 interface. How Can I do that?
I'm assuming that you're running a local install of Juju that runs its instances on LXC containers. By default, Juju on LXC uses the LXC bridge (lxcbr0), but we have the option of configuring LXC to use a bridge that also has eth0 interface on it.
I assume that your LAN exists within the 192.168.1.0/24 subnet, and your eth0 interface has IP address of 192.168.1.2.
You will need to set up bridging:
1) Edit /etc/network/interfaces
auto br0 iface br0 inet static bridge_ports eth0 address 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1 bridge_stp off bridge_fd 0 bridge_maxwait 0
2) Configure LXC to use your newly created bridge interface. Edit /etc/lxc/lxc.conf:
lxc.network.type=veth lxc.network.link=br0 lxc.network.flags=up
3) Change the LXC network configuration. Edit /etc/default/lxc:
LXC_BRIDGE="br0" LXC_ADDR="192.168.1.2" LXC_NETMASK="255.255.255.0" LXC_NETWORK="192.168.1.0/24" LXC_DHCP_RANGE="192.168.1.200,192.168.1.254" LXC_DHCP_MAX="54"
Restart LXC and networking and your Juju instances should be accessible by other machines on the network.