免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4823 | 回复: 10
打印 上一主题 下一主题

网络上乱传的OB NAT方法有错!! 坑人啊! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-15 16:10 |只看该作者 |倒序浏览
2可用积分
原文如下:

  1. 首先安装好OpenBSD4.1,我的机器有两个网卡:一个是pcn0是作为连接ADSL MODEL的,一个是pcn1是作为连接内网的。

  2. 其中下面全部配置中的pcn0是我的连接ADSL MODEL的网卡名,你要更改成你定际的网卡名。pcn1同样也要改成连接你内网的网卡名。


  3. 1) 连接ADSL MODEL的网卡不需要有IP,所以用 vi /etc/hostname.pcn0 编辑网卡配置文件。将里面的内容全部清空。

  4. 2)将/etc/mygate中的全部内容也删除。这样就没有设缺省网关了。

  5. 3)配置内网网卡的IP.
  6.   vi /etc/hostname.pcn1
  7. 在里面加上以下内容:
  8. inet 192.168.188.1 255.255.255.0 192.168.188.255

  9. 4)在/etc/resolv.conf 中加入下面的内容,以设定DNS
  10. lookup file bind
  11. nameserver    202.96.128.166 202.96.128.86

  12. 5)运行sh /etc/netstart使所作的ip配置生效。这时,
  13. 在你内网的电脑可以ping 192.168.188.1来试下你的内网
  14. 网卡有没设错。


  15. 6)配置PPPoE需要用到的ppp拔号配置文件
  16. vi /etc/ppp/ppp.conf
  17. 加入下面的内容,注意大小写和将我的pcn0网卡名换成你的:

  18. default:
  19.      set log Phase Chat LCP IPCP CCP tun command
  20.      set timeout 0
  21.      set redial 15 0
  22.      set reconnect 15 10000
  23.      set server /var/run/ppp.sock "" 0177

  24.     pppoe:
  25.      set device "!/usr/sbin/pppoe -i pcn0"
  26.      set mtu max 1492
  27.      set mru max 1492
  28.      set speed sync
  29.      enable lqr
  30.      disable acfcomp protocomp
  31.      deny acfcomp
  32.      add! default HISADDR
  33.      set authname "你的ADSL账号名"
  34.      set authkey "你的ADSL密码"
  35. 现在可以试试你设的PPPoE是否正确

  36.     sh /sbin/ifconfig pcn0 up
  37.     sh /usr/sbin/ppp -ddial pppoe
  38. 命令中的-ddial是接断线后不断重拔。连接上了后,你可以用ifconfig
  39. 看到新加了一个网络设备tun0。你还可以ping一下google.com,看网络是不是真的通了。
  40. 再在/etc/rc.local中中入以下内容,使它下次开机自动拔号上网。


  41.     /sbin/ifconfig pcn0 up    /usr/sbin/ppp -ddial pppoe

  42. 7) 运行sysctl net.inet.ip.fowarding=1 ,
  43. 你可以看到屏幕显示 net.inet.ip.forwarding: 0 -> 1

  44. 这表示IP转发开启了,想要在下次开机后自动开启,
  45. vi /etc/sysctl.conf
  46. 将#net.inet.ip.forwarding=1 中的最前面的#号删除

  47. 8)下面我们来配置package filter配置文件,将以下内容加在/etc/pf.conf中

  48.     ext_if="tun0"
  49.     int_if="pcn1"
  50.     internal_net="192.168.188.0/24"
  51.     scrub in all

  52.     # for NAT
  53.     nat on $ext_if from $internal_net to any -> ($ext_if)

  54.     # for firewall
  55.     block in all
  56.     block out all
  57.     pass quick on lo0 all
  58.     pass out on $ext_if proto tcp all modulate state flags S/SA
  59.     pass out on $ext_if proto { udp, icmp } all keep state
  60.     pass in on $int_if from $internal_net to any
  61.     pass out on $int_if from any to $internal_net
  62. 其中的tun0是pppoe拔号连接上后系统自动新加的虚拟网卡,pcn1是我的内网网卡,
  63. 192.168.188.0/24是我的内网网段。

  64. 现在运行 pfctl -e 来运行package filter.
  65. 屏幕上会显示 pf enabled 。
  66. 这时,你内网的电脑就可以上网了。

  67. 最后将/etc/rc.conf中的pf=NO修改为
  68. pf=YES
  69. 使下次开机自动运行package filter.
  70. ====================================
复制代码

问题1:
拨号的网卡如果指定地址,根本拨号不了!
参数上也有点问题吧?我的要设置成这样才能连接上

  1. # cat /etc/ppp/ppp.conf
  2. default:
  3. set log Phase Chat LCP IPCP CCP tun command
  4. #set device /dev/cua01
  5. set redial 15 0
  6. set reconnect 15 1000

  7. adsl:
  8. set device "!/usr/sbin/pppoe -i rl0"
  9. set mtu max 1492
  10. set mru max 1492
  11. set speed sync
  12. enable lqr
  13. disable acfcomp protocomp
  14. deny acfcomp
  15. add! default HISADDR
  16. set authname "3a67"
  17. set authkey 123456
  18. enable dns
  19. enable nat
  20. #
复制代码

问题2:
不设置/etc/mygate 的话,内网就访问不了OB的机器!(起码ping不通,ssh不上)

  1. # ifconfig
  2. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
  3.         groups: lo
  4.         inet 127.0.0.1 netmask 0xff000000
  5.         inet6 ::1 prefixlen 128
  6.         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
  7. rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
  8.         lladdr 00:0e:1f:01:13:3c
  9.         media: Ethernet autoselect (100baseTX full-duplex)
  10.         status: active
  11.         inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
  12.         inet6 fe80::20e:1fff:fe01:133c%rl0 prefixlen 64 scopeid 0x1
  13. ne3: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
  14.         lladdr 00:40:26:5f:4d:9a
  15.         media: Ethernet autoselect (10baseT)
  16.         inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
  17.         inet6 fe80::240:26ff:fe5f:4d9a%ne3 prefixlen 64 scopeid 0x2
  18. pflog0: flags=0<> mtu 33224
  19. enc0: flags=0<> mtu 1536
  20. tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1488
  21.         groups: tun egress
  22.         inet 10.10.10.185 --> 10.1.1.1 netmask 0xffffffff
复制代码

带来的问题是xp可以连接上OB,而ob不能ping到winXp的内网机器

问题3:
哪个rc.conf 中的pf=NO应该不用改的,
改为在rc.local中跟在
ppp -ddial adsl的后面
pfctl -e  //等ppp连接上之后pf中的规则才能获取到IP

最后大的问题是,改好上面的问题,ob拨号上,可以连接到internet ,下面的仍然起不到NAT的作用,下的机器上不了网!
我的规则简单到这么写了,还不行!

  1. #cat /etc/pf.conf
  2. ext_if="tun0"
  3. int_if="ne3"
  4. internal_net="192.168.1.0/24"
  5. scrub in all

  6. # for NAT
  7. nat on $ext_if from $internal_net to any -> ($ext_if)

  8. # for firewall
  9. pass all
复制代码

[ 本帖最后由 banyao 于 2007-9-15 16:37 编辑 ]

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
2 [报告]
发表于 2007-09-15 16:48 |只看该作者
rl0及ne3为啥要设置成同一网段?
问题2:
不设置/etc/mygate 的话,内网就访问不了OB的机器!(起码ping不通,ssh不上)

OB应该不需要设置默认网关.

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
3 [报告]
发表于 2007-09-15 16:50 |只看该作者
问题3:
哪个rc.conf 中的pf=NO应该不用改的,
改为在rc.local中跟在
ppp -ddial adsl的后面
pfctl -e  //等ppp连接上之后pf中的规则才能获取到IP

最后大的问题是,改好上面的问题,ob拨号上,可以连接到internet ,下面的仍然起不到NAT的作用,下的机器上不了网!
我的规则简单到这么写了,还不行!

打开PF的最佳时机是在ppp拨号成功后,而不是运行ppp后.详细man ppp,看ppp.linkup/ppp.linkdown

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
4 [报告]
发表于 2007-09-15 16:55 |只看该作者
可以参考一下红袖以前写的文章:
http://bbs.chinaunix.net/viewthr ... p%3Bfilter%3Ddigest

论坛徽章:
0
5 [报告]
发表于 2007-09-15 19:36 |只看该作者
原帖由 congli 于 2007-9-15 16:48 发表
rl0及ne3为啥要设置成同一网段?

OB应该不需要设置默认网关.


设置成其他网段也是一样效果的,我设置过rl0:192.168.1.2/23 ne3:192.168.1.3/24
反正rl0 要指定ip后才能正常拨号,而上面的教程上说,要删除掉地址!

不设置mygate的话,xp的机器ping不到ne3



Q:打开PF的最佳时机是在ppp拨号成功后,而不是运行ppp后.详细man ppp,看ppp.linkup/ppp.linkdown
A:顺序执行下来ppp拨号完成正好是执行pf的指令,刚好阿(排出拨号失败的情况)
总比上文中说的pf=YES好,一开始就随内核启动了pf

[ 本帖最后由 banyao 于 2007-9-15 19:38 编辑 ]

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
6 [报告]
发表于 2007-09-15 22:25 |只看该作者
没试过用OB拨号,所以没办法证实自己的想法.FB不需要设置IP及默认网关.
设置不设置mygate,ppp成功拨号后都会修改默认路由,可以打印一下路由表看看.所以不存在xp ping不通OB,lz应抓包分析.
ppp拨号有好多意外情况,如断线重拨等,所以应该使用ppp.linkup/ppp.linkdown来处理一些意外情况.

论坛徽章:
0
7 [报告]
发表于 2007-09-15 22:51 |只看该作者
ppp成功拨号后都会修改默认路由?
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1488
        groups: tun egress
        inet 10.10.10.185 --> 10.1.1.1 netmask 0xffffffff
这个上看来好像是10.1.1.1,我xp是指定了ip网关192.168.1.1的,如果是这样的话,ping不通也是有可能的
但是这样既然ping不通,连ssh都连接不上ob阿,更别提做NAT上网的事了

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
8 [报告]
发表于 2007-09-16 14:03 |只看该作者
当然会修改默认网关,看ppp.conf
add! default HISADDR

在同一个LAN,是直接路由的,不需经过默认网关,如果不行,那应该是设置或拓扑有问题.

[ 本帖最后由 congli 于 2007-9-16 14:06 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-09-17 01:30 |只看该作者

唉,这就是没看man 和手册的结果

问题1:
拨号的网卡如果指定地址,根本拨号不了!
参数上也有点问题吧?我的要设置成这样才能连接上


--------------------------------------------------------------
不需要指定IP!! 参于参数有错!!! 可以自己看man ppp上面有详细的说明



问题2:
不设置/etc/mygate 的话,内网就访问不了OB的机器!(起码ping不通,ssh不上)
------------------------------------------------------------------------------------------------
胡扯!!


问题3:
哪个rc.conf 中的pf=NO应该不用改的,
改为在rc.local中跟在
ppp -ddial adsl的后面
pfctl -e  //等ppp连接上之后pf中的规则才能获取到IP

最后大的问题是,改好上面的问题,ob拨号上,可以连接到internet ,下面的仍然起不到NAT的作用,下的机器上不了网!
我的规则简单到这么写了,还不行!

[Copy to clipboard] [ - ]
CODE:
#cat /etc/pf.conf
ext_if="tun0"
int_if="ne3"
internal_net="192.168.1.0/24"
scrub in all

# for NAT
nat on $ext_if from $internal_net to any -> ($ext_if)

# for firewall
pass all
-------------------------------------------------------------------------
这就是不看手册,faq的结果




结论是你根本没有看过pffaq等资料!! 人家写出来的只能作参考!! 给出的例子略看了一下,基本没什么大问题问题!!
还有openbsd的内核拨号已经很完善,可以自动断线重拨!!!

[ 本帖最后由 gofans 于 2007-9-17 01:31 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2007-09-18 13:13 |只看该作者
原帖由 gofans 于 2007-9-17 01:30 发表[/url]
问题1:
拨号的网卡如果指定地址,根本拨号不了!
参数上也有点问题吧?我的要设置成这样才能连接上


--------------------------------------------------------------
不需要指定IP!! 参于参数有错!!! ...

按这位兄弟说的,我的ppp.conf该怎么写才能够不用指定IP拨号呢? 请赐教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP