亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2650 | 回復: 4
打印 上一主題 下一主題

有關2種接入方式同時存在時的路由配置問題 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-07-26 17:40 |只看該作者 |倒序瀏覽
本帖最后由 duanius 于 2010-07-26 17:43 編輯

開發(fā)板上同時有兩種接入方式 以太網和gprs。 gprs通過ppp建立連接。我需要去連幾個指定的ip,通過程序去配置。對于這種需求  我的處理方式是代碼中把幾個ip配成主機路由添加到路由表中,網關不設,子網掩碼不設(設不設都是全f),然后把接口指定成eth0或者是ppp0,
代碼很簡單:
2         struct rtentry  rt;
33         struct sockaddr_in my_addr;
34         int sock_fd;
35         char devi[] = "eth0";
36
37
38         if ((sock_fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
39         {
40                 perror("socket");
41                 close(sock_fd);
42                 return E_ERR;
43         }
44
45         rt.rt_flags = (RTF_UP | RTF_HOST );
46         my_addr.sin_family = AF_INET;
47
48         inet_aton("210.45.192.68",&my_addr.sin_addr);
49         memcpy(&rt.rt_dst,&my_addr, sizeof(struct sockaddr));
50
          。。。。。
56
57         rt.rt_dev = devi;
58
59         if (ioctl(sock_fd, SIOCADDRT, &rt) < 0)
60         {
61                 perror("SIOCADDRT");
62                 close(sock_fd);
63                 return E_ERR;
64         }
65         return 0;

但有些問題
1.  對于這種需求,解決的方法 也就是對要連接的ip設為主機路由  并且只設置一個接口,其他不設,也不對ip相關以外的路由做更改,只添加n個ip的n個主機路由,是否正確。
2. 代碼執(zhí)行后,成功是成功了 ,但躍點數(shù)很離譜:
csduan@csduan-desktop:~/temp$ route
內核 IP 路由表
目標            網關            子網掩碼        標志  躍點   引用  使用 接口
210.45.192.68   *               255.255.255.255 UH    -20889 0        0 eth0
192.168.0.0     *               255.255.255.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

有時候是負的,有時候是大于10000 請問為什么呢

論壇徽章:
5
IT運維版塊每日發(fā)帖之星
日期:2015-08-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-23 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-08-24 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-11-12 06:20:00
2 [報告]
發(fā)表于 2010-07-26 18:05 |只看該作者
一般就是這個處理方法。
至于度量問題可能和你的代碼有關,你可以用route命令試試

論壇徽章:
0
3 [報告]
發(fā)表于 2010-07-26 20:00 |只看該作者
多謝版主  用過route命令看了下  通過sudo route add -host 192.168.1.2 dev eth0 命令添加的就沒問題 躍點正常,看來還是要看程序了

還有個問題 就是我們接2個網絡 一個是本地以太 c類網  一個是移動子網,a類網。默認的路由應該是c網的網關。那么對于我們想連一個a網的ip,是否設一個ip從ppp0走就可以了 ,需要設置網關么?還是可以不設,為*就可以了?

論壇徽章:
0
4 [報告]
發(fā)表于 2010-07-27 12:04 |只看該作者
頂一下  不清楚網關的相關配置

論壇徽章:
0
5 [報告]
發(fā)表于 2010-07-27 12:50 |只看該作者
提示: 作者被禁止或刪除 內容自動屏蔽
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP