Total de visualizações de página

quinta-feira, 10 de março de 2011

Código Fonte Configuração de Rede Mais Completo

Este programa foi feito por Willian Ramos (Claro!)
Mais também participamos e aprendemos a fazer por esse código um programa mais completo.
Para esse programa foi usado funções e manipulações de arquivos.
Todos os Créditos do Willian Ramos e VLW por ajudar-nos.


#include
#include

void edita_IP()
{
FILE *fp;
char comando[100], placa[10];
if(!(fp = fopen("teste.txt", "a"))){
printf("Impossivel abrir o arquivo... \n");
exit(-1);
}
printf("Digite o modelo da placa de REDE (Ex: eth0, rl0): ");
scanf("%s", &placa);
printf("Digite o IP para a maquina (Ex: 192.168.1.1): ");
scanf("%s", &comando);
fprintf(fp, "\n");
fprintf(fp, "ifconfig_");
fprintf(fp, placa);
fprintf(fp, "=\"inet ");
fprintf(fp, comando);
fprintf(fp, "/24\"");
fclose(fp);
printf("IP configurado com sucesso\n");
system("read b");
//getch();
main();
}
void edita_defaultrouter()
{
FILE *fp;
char comando[100];
printf("Digite a rota padrao para a maquina (Ex: 192.168.1.100): ");
scanf("%s", &comando);
if(!(fp = fopen("teste.txt", "a"))){
printf("Impossivel abrir o arquivo... \n");
exit(-1);
}
fprintf(fp, "\n");
fprintf(fp, "defaultrouter=\"");
fprintf(fp, comando);
fprintf(fp, "\"");
fclose(fp);
printf("rota configurada com sucesso\n");
system("read b");
// getch();
main();
}
void edita_alias()
{
FILE *fp;
char comando[100], placa[10];
printf("Digite o modelo da placa de REDE (Ex: eth0, rl0): ");
scanf("%s", &placa);
printf("Digite o IP_alias para a maquina (Ex: 10.10.1.0): ");
scanf("%s", &comando);
if(!(fp = fopen("teste.txt", "a"))){
printf("Impossivel abrir o arquivo... \n");
exit(-1);
}
fprintf(fp, "\n");
fprintf(fp, "ifconfig_");
fprintf(fp, placa);
fprintf(fp, "_alias0=\"inet ");
fprintf(fp, comando);
fprintf(fp, "/24\"");
fclose(fp);
printf("IP_alias configurado com sucesso\n");
system("read b");
//getch();
main();
}

void edita_routes(int routes)
{

struct r{
char route[100];
};
struct r comando[routes], route[routes], r[routes];
FILE *fp;
int i;
for(i=0;i
printf("Digite o nome do %d route(Ex: a1): ", i);
scanf("%s", &route[i].route);
printf("Digite a rede para a maquina (Ex: 192.168.1.1): ");
scanf("%s", &comando[i].route);
printf("Digite a rede para as outras maquinas (Ex: 10.10.1.1): ");
scanf("%s", &r[i].route);
}
if(!(fp = fopen("teste.txt", "a"))){
printf("Impossivel abrir o arquivo... \n");
exit(-1);
}
fprintf(fp, "\n");
fprintf(fp, "static_routes=\"");
for(i=0;i
fprintf(fp, route[i].route); //route a1="-net 192.168.1.0/24 10.10.1.1"
fprintf(fp, " ");
}
fprintf(fp, "\"");
fprintf(fp, "\n");
for(i=0;i
fprintf(fp, "route ");
fprintf(fp, route[i].route);
fprintf(fp, "=\"-net ");
fprintf(fp, comando[i].route);
fprintf(fp, "/24 ");
fprintf(fp, r[i].route);
fprintf(fp, "\"");
fprintf(fp, "\n");
}
fclose(fp);
printf("Routes configurados com sucesso\n");
system("read b");
//getch();
main();
}
void edita_nameserver()
{
FILE *fp;
char comando[100];
printf("Digite o NAMESERVER para a maquina (Ex: 10.10.1.1): ");
scanf("%s", &comando);
if(!(fp = fopen("teste.txt", "a"))){
printf("Impossivel abrir o arquivo... \n");
exit(-1);
}
fprintf(fp, "\n");
fprintf(fp, "nameserver=\"");
fprintf(fp, comando);
fprintf(fp, "\"");
fclose(fp);
printf("NAMESERVER configurado com sucesso\n");
system("read b");
//getch();
main();
}

int main(void)
{
int op, aux;
system("clear");
system("ifconfig | grep Link");

printf("<----------- MENU ---------->\nO que deseja fazer:\n1 - Configurar o IP\n2 - Configurar Rota padrão\n3 - Configurar o alias\n4 - Definir routes\n5 - Definir NAMESERVER\n111 - Mostrar o arquivo\n999 - Sair\n");
scanf("%d", &op);
if (op==1){
edita_IP();
}
if (op==2){
edita_defaultrouter();
}
if (op==3){
edita_alias();
}
if (op==4){
printf("Quantos routes vc tera:");
scanf("%d", &aux);
edita_routes(aux);
}
if (op==5){
edita_nameserver();
}
if (op==111){
system("cat teste.txt");
system("read b");
main();
}
if (op==999){
exit(999);
}
}

Nenhum comentário:

Postar um comentário