why connman ipv4 settings are having dhcp by default - linux

I am using yocto rocko for my board
I was setting static ip using rc.local at startup .But after some time ip gets changed.
So i found that following file is culprit
/var/lib/connman/ethernet_*_cable/settings
In the file below line is causing issues :
IPV4.method=dhcp
I changed dhcp to manual and everything is working fine.
How to change in yocto build or kernel or filesystem such that when i boot a new card its value is manual by default
Regards

If you want to keep doing it manually on startup you can use connmanctl. I use these commands:
connmanctl config ethernet_*_cable --ipv4 dhcp
connmanctl config ethernet_*_cable --ipv4 manual <ipaddress> <netmask> <gateway>
The * in ethernet_*_cable is the mac address without :'s.
I guess you could patch connman to go with static as default, but wouldn't that bring up all boards with the same IP, and not work if the adresses/routing on your network does not play well with the your static setup? IMHO it makes sense to leave it at DHCP so it can work everywhere, and then reconfigure in a script based on the logic of your choice.

Related

Get WSL2 DNS to use Hosts DNS from DHCP

I'm trying to use WSL2 but the DNS isn't working, nothing resolves. I've seen lots of articles about disabling resolv.conf generation and putting in a manual entry, however this won't work for me. My workplace block the port DNS uses so I can't use 1.1.1.1 etc and I can't use the corporate DNS server IP as I want a solution that will work when I go home as well.
Is there a way for WSL2 to be able to use the DNS settings provided by the Hosts DHCP lease? I've tried to change the virtual switch (WSL) in the Virtual Switch Manager to be External but it's still picking up an IP from the DHCP server.
Am I missing some Windows configuration or do I need some Linux Fu to change the config. I was trying to get Podman-Desktop running and couldn't pull any images at work which is what started this off.

How to access the Cassandra browser terminal running on VirtualBox?

I'm trying to access the Cassandra browser terminal but the reported IP is unreachable.
I'm following the instructions to install Cassandra on VirtualBox here, and have the following configuration:
And Cassandra appears to start up appropriately:
But I'm unable to hit the provided IP (10.0.0.2)
Any idea what's wrong?
Ok, so I went to Install Cassandra OVA on VirtualBox and followed the instructions (like you did). And it didn't work for me, either.
What did work, was messing with the network settings and ultimately switching to a "Bridged" network adapter:
This put the CassandraVM on my internal network, and I was then able to reach everything from an internal IP (192.168.0.103, in my case).
Also, not sure if it made a difference, but I set Promiscuous Mode to "Allow All."
Had the same issue. Here's what worked for me (the solution came from this VirtualBox forum post).
In Host-only Network Details select the Adapter tab and change the ipv4 address into something inside the 10.0.0.x range. I think you should avoid conflicts with settings in the DHCP Server tab, thus a suitable choice would be 10.0.0.254, for example.
Also, I think you should configure your virtual machine's network settings this way:
Attach to: select Host-only Adapter
Name: select vboxnet0
I've also set Allow All for Promiscous Mode, but I don't know if it's strictly required.

Configuration of a NIC from a Linux Bash Shell

I have a Dell laptop running the following version of RedHat Linux:
2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux
It has an Ethernet-over-USB connection to a device under test (DUT). This interface to the DUT is usually configured as follows:
IP address: 104.4.40.2
Netmask: 255.255.255.0
Default gateway: 104.4.40.1
The default gateway points to the DUT.
Occasionally, I need to change the IP address / default gateway to 104.4.20.2 and 104.4.20.1, respectively. (The netmask remains 255.255.255.0).
I need to make this change when I load a new configuration onto the DUT that changes its IP address. (This configuration loading is done over a second interface that is unrelated to the interface I'm discussing here.)
When I make the corresponding change to the Linux box's network configuration using the GUI, everything works fine. But I often work remotely by shelling in via ssh. So, all I have available in that case is a Bash shell.
I've used command "ifconfig" (to set the IP address and netmask) and command "route" (to install the default gateway forwarding entry) to reconfigure the interface, and I then used "iconfig" to bring the interface down and back up to try to get the changes to "take".
When I check the interface settings with "ifconfig", they looks right. When I check the forwarding table with "route", everything looks good (including the default gateway). Yet, when I try to ping the DUT, I get no reponse. If I configure the interface yet again using the GUI, I can then ping the DUT.
I am clearly doing something wrong. Could someone please kindly show me the Bash shell command line commands I need to issue to change the IP address and default gateway of interface "eth1"?
Thank you in advance!
If I've got you right, you need these two simple commands:
vim /etc/sysconfig/network-scripts/ifcfg-eth1 //modify the configuration
service network restart
Also you can write a primitive bash/perl/python wrapper for your routines...
This answer may be useful for you too.

Change the name of network interface under Linux, but the file 70-persistent-net.rules ignored

I used Promox to create a virtual machine and added a new network interface. The virtual machine is running Ubuntu 12.04. When I did the ifconfig I have two interface: eth0 and eth1.
Now I modified the 70-persistent-net.rules in /etc/udev/rules.d and want to change the name of network interface, i.e. change eth1 to net_c
But when I restarted the machine, the system seems ignored this file and didn't do the rename configuration
Can anyone tell me what is the problem?
If you want to override rules with you own personal rule in /etc/udev/rules.d, you must have a number higher than the rules in /lib/udev/rules.d that you want to override.
In /lib/udev/rules.d, persistent net are in "75-persistent-net-generator.rules", so name your rules with a number higher than 75 :)

JMeter - Loopback address error when launching jmeter-server on Linux

I'm trying to set up a distributed load testing environment using JMeter. I need to set up the remote clients using something portable like a Linux Live CD, but whenever I attempt to launch jmeter-server in Linux, I receive the following error...
Created remote object: UnicastServerRef [liveRef: [endpoint:[127.0.0.1:49018](local),objID:[3b0d3d42:12985b7a49b:-7fff, -8459389540436649718]]]
Server failed to start: java.rmi.RemoteException: Cannot start. testbox01.qa.nwr.lan is a loopback address.
After extensive googling, the only remedy I can find is to edit the /etc/hosts file so the hostname maps to something other than the 127.0.0.1 loopback address. I've tried this using Ubuntu, Fedora and CentOS, and apparently they all default to setting the hostname to 127.0.0.l.
The way I see it, I have four options...
1) Customize the /etc/hosts file for every remote test box I set up, which involves upwards of 20-50 dynamically DHCP-assigned IP addresses.
2) Figure out a way to force Linux itself to assign the hostname to its DHCP IP address by default. This is certainly the more graceful solution, but I have no idea how to do this. Anyone know?
3) Find and use a Linux distro available as a Live CD that doesn't map its hostname to 127.0.0.1 by default. Anyone know one?
4) Dive into JMeter's code and start yanking wires, but if it comes to this, I'd just as soon use another open source tool with a slimmer feature set, but whose distributed architecture doesn't suffer from this issue.
If anyone has any advice, I'd be grateful. Thanks!
In latest version, you can run your script with:
./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
Replace xxx.xxx.xxx.xxx with this server's IP address, i.e., the IP address that the controlling jmeter machine will use to connect to this server.
Looks like Glen was right on the money with his comment.
Not sure is this helps but I found a bug which seems to contain a patch for this issue.
https://bugs.launchpad.net/ubuntu/+source/jakarta-jmeter/+bug/589042
Thanks again, Glen!
(If you decide to make it into an actual answer, I'll be sure to accept it!)
Change your hostname from localhost to your right ip address.
Check your hostname
hostname
Check your internet ip address
ifconfig
Add this line to /etc/hosts
your_ip_address your_hostname
Comment hostname which assigned localhost in /etc/hosts
I was able to get it to start after setting this environment variable:
export RMI_HOST_DEF=-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX
Also have downloaded jmeter 2.8 from here: http://archive.apache.org/dist/jmeter/binaries/
Ubuntu apt-get version is 2.3.4
You can edit jmeter.server file to add:
RMI_HOST_DEF=-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX
This solved mine problem.
You can try to check this page for more details.
Add RMI_HOST_DEF=-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX
Add ipaddress hostname to /etc/hosts file
on my system ,/etc/hosts mentioned 127.0.0.1 hostname.
I removed 127.0.0.1 and added public Ip address

Resources