# New MAC address



## vamos (May 5, 2013)

Hello, I have a problem with my FreeBSD 8.3 server, he is running on VMware server with no problem. I've changed the MAC address on the router and so put the new MAC address on the VMware configuration, but, the server doesn't ping anymore but uses the MAC address, what I can do to fix it? We can't change the MAC address for a virtual freebsd FreeBSD server?

Thanks in advance.


----------



## Savagedlight (May 5, 2013)

vamos said:
			
		

> I've changed the MAC address on the router


Is this a static DHCP mapping?



> and so put the new MAC address on the VMware configuration, but, the server doesn't ping anymore but uses the MAC address,


Does this mean that ifconfig displays the correct MAC address for the server?



> what I can do to fix it?


Try restarting the server. If that doesn't help, check the routers ARP entries to see which MAC is associated with that IP.


----------



## ShelLuser (May 5, 2013)

vamos said:
			
		

> I've changed the MAC address on the router and so put the new MAC address on the VMware configuration, but, the server doesn't ping anymore but uses the MAC address, what I can do to fix it?


How did you determine that the server is using the new MAC address?

Also; what do you mean exactly with "it doesn't ping anymore"? What error message do you get (if any); describe in more detail what exactly is happening when you try to ping either another host on the network _as well as_ try to ping 127.0.0.1?

Start by trying `# tcpdump -D` to see if this lists the network interface ("NIC") you're working with (it probably does, but just to make sure..).

Then try this: `# tcpdump -i xxx icmp`, where 'xxx' is the name of the interface you found earlier. Do this on another console, so that this command can run while you're trying to ping another (remote) host.

So, for example:


```
root@smtp2:/usr/local/etc # tcpdump -D
1.usbus0
2.vtnet0
3.lo0
root@smtp2:/usr/local/etc # tcpdump -i vtnet0 -l icmp | tee tcpdump.log
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vtnet0, link-type EN10MB (Ethernet), capture size 65535 bytes
```
I knew I needed the second interface, thus I used the command you see above. The tee command at the end makes sure that you can see the output printed by tcpdump while it's also being saved to a file called tcpdump.log. Now try to ping a remote host (so not 127.0.0.1 nor localhost) on another console, and paste 3 or 4 of the lines you get in return.

So, for example when I'm trying to ping google.com I get something like this:


```
19:14:04.407819 IP xxx > bk-in-f139.1e100.net: ICMP echo request, id 62716, seq 0, length 64
19:14:04.421215 IP bk-in-f139.1e100.net > xxx: ICMP echo reply, id 62716, seq 0, length 64
19:14:05.416574 IP xxxx > bk-in-f139.1e100.net: ICMP echo request, id 62716, seq 1, length 64
19:14:05.429829 IP bk-in-f139.1e100.net > xxx: ICMP echo reply, id 62716, seq 1, length 64
```
Where 'xxxx' used to be the IP address of my server, but obviously I don't feel like sharing that. Feel free to comment that out yourself as well, but don't change anything else. And for the sake of clarity; don't paste more than 4 to 6 lines, a few of them should do.


----------

