I am learning network prgramming in linux in c,and try to build a server and in this server I want to bind the listening socket to a paricular Ip address and port.Bind function is showing error,I did not want to use wild card. Here is the code.
I finally got the certs to configure: openvpn --config server.conf Tue May 3 17:26:27 2011 OpenVPN 2.1.1 i686-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Jan 5 2010 Tue May 3 17:26:27 2011 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables Tue May 3 17:26:27 2011 Diffie-Hellman initialized with 1024 bit key Tue May 3 17:26:27 2011 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Tue May 3 17:26:27 2011 ROUTE default_gateway=192.168.122.1 Tue May 3 17:26:27 2011 TUN/TAP device tun0 opened Tue May 3 17:26:27 2011 TUN/TAP TX queue length set to 100 Tue May 3 17:26:27 2011 /sbin/ip link set dev tun0 up mtu 1500 Tue May 3 17:26:27 2011 /sbin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2 Tue May 3 17:26:27 2011 /sbin/ip route add 10.8.0.0/24 via 10.8.0.2 Tue May 3 17:26:27 2011 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] Tue May 3 17:26:27 2011 Socket Buffers: R=[114688->131072] S=[114688->131072] Tue May 3 17:26:27 2011 UDPv4 link local (bound): [undef]:1194 Tue May 3 17:26:27 2011 UDPv4 link remote: [undef] Tue May 3 17:26:27 2011 MULTI: multi_init called, r=256 v=256 Tue May 3 17:26:27 2011 IFCONFIG POOL: base=10.8.0.4 size=62 Tue May 3 17:26:27 2011 IFCONFIG POOL LIST Tue May 3 17:26:27 2011 Initialization Sequence Completed
But openvpn still won't start; where to go from here. Tue May 3 17:54:25 2011 TCP/UDP: Socket bind failed on local address 192.168.122.3:1194: Address already in use Tue May 3 17:54:25 2011 Exiting
If I open a raw SCTP socket, am I able to bind to a specific port? (I only want to see SCTP packets from a particular IP address AND port.) Or, any raw SCTP socket, regardless of port binding , will get all SCTP packets received by the OS from that IP address? The port doesn't matter and is ignored.
I have a few external IP's assigned to me by my ISP. I have IPcop as my router/firewall. I am wondering how to bind 1 of my external ip's to my internal ip address. So I do not have to port forward, etc. For Example, 188.8.131.52 to 192.168.1.123 and on the server it see's the external IP address.
I dont know for what reason, since 2 days, I started having this message whenever I try to start httpd.I commented "Listen 443", restarted httpd started correctly. I needed to comment "listen 443" in order to be able to start httpdWhat is strange is when I do
I am encountering a wierd problem in FC12. When I try to lunch a program that listens to a lower port such as 80 or any one that is less than 1024, I always get "Permission denied" error message (I am running it as root!).Then I try starting httpd service daemon that listens to 80, no errors, the daemon started and listend to 80.PS: I checked selinux, it has been disabled.Do you have any knowledge on this case? BTW, the kernel version is:184.108.40.206-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 i686 i386 GNU/Linux
I'm trying to create a PF_PACKET socket and send a frame to another host, I know the destination's mac address and interface index, and I want to use my own protocol no., so I defined a PROTONO as 0x2323, here's the code of sender
This message appears very often in teh output of very different programs, for example Firefox/Swiftfox, Thunderbird, Mplayer In case of Mozilla apps it sometimes freezes KDE interface too (can't switch windows or panel does not pop-up) for a few seconds. IPV6 is not compiled into kernel and module is not built. It is disabled on the eth0 interface too.
How does bind system call names a socket.Code:bind(server_sockfd, (struct sockaddr *)&server_address, server_len);I see use of bind in majority of programms as above.But any of the arguments is not the name of socket.
I am having difficulties in establishing a vpn connection using vpnc (or NetworkManaager-vpnc).
As long as the openswan IPsec daemon is running, vpnc-helper quits with the error message
Failed to bind to 0.0.0.0:500: Address already in use [user@computer ...]# vpnc-helper --local--port 0
If I use NetworkManager-vpnc, then establishing the connection simply fails. Using the --local-port 0 option does not change anything.
If I stop the ipsec service (service ipsec stop) then establishing the connectiong works, both with NetworkManager-vpnc and the console tool, but apparently the network traffic is not routed via the VPN - in my case this means that I cannot access hosts within the vpn and stuff.
Funny thing is - on my notebook from where I connect via WLAN, everything works fine. With Fedora 13 everything works fine, too.
Does anybody have an idea how to enforce that the vpn connection is actually used?
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down. Unable to open logs
I am new to apache2 server i have been trying to start the server using the default httpd.conf file provided in the source code but when i give the following command sudo /usr/local/apache/bin/apachectl start i receive the above error and the server shuts down.
I need to send out ip address every time a machine is booted. So I have a script getting ip address through ifconfig command, parse the result (I do this with python since I'm not familiar with shell) and send out an email. I tried run it after login, and it worked. But it doesn't work if I don't login, but just call it from rc.local.
I am trying to create a socket to listen for a bootp response so I am using a PF_PACKET socket so that I get the response based on my mac. My problem is that I don't want to hear all traffic (as I do now) so would like to use a specific port number and bind to it.
In user mode [non-root] linux machine, tried to bind a socket by using a"ioctl(iInterfaceSocket, SIOCSIFADDR, &stCommand)". I am getting error 13 -> Permission denied because of user mode. If change from usermode to kernel mode everything works fine.I need to bind the socket in user mode only, please suggest solution for the abovewhile explaining the above,
I have several computers at work running Fedora 12. From time to time I need to remotely connect to them, usually via ssh. Each computer is assigned an IP number automatically upon startup, however due to circumstances beyond my control they are not recognized by host name by the domain server. Therefore I require the IP addresses in order to connect rather than the host names. I have no way at present to rectify this situation.
When there is a reboot, I am not always guaranteed that the IP address will be the same as before, although in practice this is usually the case. If the IP address is changed and I am logging on remotely, I am unable to connect! I can't know the number until I am again physically sitting at the computer.
As a solution, I would like each computer to e-mail me its IP address each time it boots. My first attempt was to run a script at the end of /etc/rc.d/rc.local that runs ifconfig and places the output into a file. This file is then sent to my address using sendmail. The script works fine, but I note that the output from ifconfig at this boot stage does not contain an IP address! Obviously, it is being assigned later on in the startup process. Either that or the command ifconfig does not work the same at this stage as it does once I am logged in. I require somebody with more expertise than I to comment on that.
Finally then, my question is, at what point in the startup process is an IP address assigned and the output from ifconfig would contain this address? Is there a more appropriate place rather than rc.local in which I should run my script? Is there a more appropriate command rather than ifconfig that ought to be used instead?
---------- Post added at 05:41 PM CST ---------- Previous post was at 05:30 PM CST ----------
Let me show you my attempted solution in more detail in case you're interested. The script is called .SendIP.bash and is located in my home directory. Here's what it looks like (with some censoring to protect me from public ridicule):
#!/bin/sh # This script will send ifconfig information to my e-mail account. # This allows me to have the latest IP address assigned to this computer. cd /home/MyUserName hostname > .IPmessage date >> .IPmessage ifconfig eth0 >> .IPmessage sendmail -f$HOSTNAME MyAddress@MyCompany.com < .IPmessage
As I stated above, the output from ifconfig does not contain the IP address when my script is called from rc.local.
I make an application on GNU/Linux which listening on a MULTICAST stream, so I open my unconnected socket, bind it on a MULTICAST address and a port, join the multicast group with the "setsockopt (IP_ADD_MEMBERSHIP)", then I receive datagram on my socket.
Now I've two different instances of the same application that run with their own MULTICAST address and port. And what I found strange is that, after a misconfiguration, I switch the ports, for example:
Emitting on 220.127.116.11/23451 and 18.104.22.168/23452 Receiving on 22.214.171.124/23452 and 126.96.36.199/23451
And my receiving part doesn't care about the MULTICAST address, it looks like the socket is listening on the port number only! I mean that the receiver [188.8.131.52/23452] take its datagrams from emitter [184.108.40.206/23452] and vice-versa!
i have a xeon machine with ubuntu os machine specification is 3gb RAM 3 scsi hard drives each 73gb it have two ethernet cards one ethernet card is connected with adsl modem and the second is connected with LAN. now what is mikrotik doing for me is control access to bind mac adress with ip adress and control the band width for induvisual conection.
Has anyone had an issue with gdb not being able to send a UDP msg across a socket?
I have ComponentA sending a msg to ComponentB utilizing gdb. ComponentB gets the msg. ComponentB sends a msg to ComponentC. ComponentC does stuff to the msg and sends a msg back to ComponentB using gdb. ComponentB never seems to receive the 2nd message.
If I don't use gdb the messages Tx and Rx without an issue.
I'm flying blind without gdb to figure out a different bug.
I have a small cluster (OSCAR, Fedora 8) and I was able to run some application software on it. Then lightning struck very close to the building. Fortunately I had unplugged all the power cables (because the cluster has not yet been moved to where the power lines are protected), but it seems that the institution didn't have any protection on their LAN cables, and so the whole building's public network cards are damaged. A costly lesson.
Anyway, when I tried to run the application software in parallel across the cluster (using the private network which is unscathed) I get the error message given in the subject line. I contacted the application software's help department as I thought I had perhaps forgotten to set something, but according to them it is a normal network problem.
Check the /etc/hosts file and make sure that the nodes all have a single definition and you don't have lines like
127.0.0.1 localhost normnode3
and that normnode3 has the same address both on the master and on the node. try ping normnode3 from the master and see what address comes back 64 bytes from 220.127.116.11: icmp_seq=1 ttl=64 time=0.306 ms or is it 127.0.0.1. Then do the reverse. Also double check that you can ssh between nodes without password but I would expect a different error then. The command "hostname" returns gnlserv01, which is the public NIC.
After the lightning I had trouble getting the nodes to communicate "automatically" with each other, but it can be cured by starting the xinetd service and disabling the firewall on the master node (it's not too dangerous since I don't have a public interface at present and since I'm sitting behind the institution's firewall as well.) Just by the way, I would think that ther should be a file somewhere in which I could specify those two commands to take place when the master node is switched on. Could you perhaps enlighten me as to where and how I could specify it?
I was wondering whether I would need to explicitly start a bind-type service or something like that? (Since I had to explicitly start xinetd) I'm rather clueless really. I googled around and found that there is a named service, so I tried to start it, but I don't think it's installed on the computer. Therefore, since I have managed to run the application software in parallel previously, the named service is probably not the problem. Here is a copy of how my /etc/hosts file looks like:
# Do not remove the following line, or various programs # that require network functionality will fail. # These entries are managed by SIS, please don't modify them. 127.0.0.1 localhost.localdomain localhost
Been trying all sorts of different things to implement a non-blocking send on a TCP server socket.As I kill the client, the server keeps blocking on the send no matter what. Am I missing something? Any other way to do that without involving any additional thread?