您的位置 首页 > 娱乐休闲

linux修改ip的方式和web服务器重启生效的问题

环境:web服务器采用的是Lighttpd,移植到嵌入式开发板上。

修改ip方式一:

{

int sock = 0;

struct ifreq ifr;

if((pIPAddr == NULL) || (pIfName == NULL))

{

PRINT_ERR("set ip: pInterface == NULL\r\n");

return -1;

}

memset(&ifr, 0, sizeof(ifr));

strncpy, pIfName, IFNAMSIZ);

sock = socket(AF_INET, SOCK_DGRAM, 0);

if(sock <= 0)

{

PRINT_ERR("set ip: sock error, %s\r\n", strerror(errno));

return -1;

}

struct sockaddr_in sin;

memset(&sin, 0, sizeof(struct sockaddr_in));

= AF_INET;

= inet_addr(pIPAddr);

memcpy(&i, &sin, sizeof(struct sockaddr_in));

if(ioctl(sock, SIOCSIFADDR, &ifr) < 0)

{

PRINT_ERR("set ip(%s) error!\r\n", pIPAddr);

close(sock);

return -1;

}

//设置激活标志

i |= IFF_UP |IFF_RUNNING;

//get the status of the device

if( ioctl( sock, SIOCSIFFLAGS, &ifr ) < 0 )

{

perror("SIOCSIFFLAGS");

close(sock);

return -1;

}

close(sock);

return 0;

}

修改ip方式二:

/*config ip netmask*///

system("/sbin/ifconfig eth0 down");

sprintf(cmd,"/sbin/ifconfig eth0 %s netmask %s",ipAddr,netMask);

system(cmd);

system("ifconfig eth0 up");

分别以以上两种方式对ip进行修改,然后重启Lighttpd web服务器。方式一的情况下,ip修改成功,但是web服务器登录不上去,方式二的方式可以正常运行。

是否这两种方式修改ip,都对系统底层即时生效了?

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何修改linux系统ip地址,如何修改网络ip地址,如何修改路由器ip地址,如何修改软件ip地址”边界阅读