找回密码
 注册

QQ登录

只需一步,快速开始

楼主: spicahan

关于用软件VLAN处理IPTV的方法

[复制链接]
 楼主| 发表于 2012-2-11 23:31:46 | 显示全部楼层
chmjiong 发表于 2012-2-11 20:47 5 b) K! i( R- D8 W9 G: U
无论何种vlan配置,都是下面这个结果:
' l" ~; @) R4 ?( }4 h" G/root$ swconfig dev ar8216 show5 o) S. h7 l; u' c, }+ T! r
Failed to connect to the swit ...

! _5 d- Q5 t& x8 l! A那你在正常起来之后,跑一下dmesg, 把结果贴一下吧。或者你试试 swconfig dev eth0 show
 楼主| 发表于 2012-2-11 23:48:37 | 显示全部楼层
tywg001 发表于 2012-2-11 21:19
: T/ ?/ o/ R0 D  y! F不好意思,openwrt的端口映射怎么操作?我怎么做都不对,是写在firewall.user里' ~5 K5 Y. T3 S# J$ y
### Forward uTorrent GUI6 l6 ]8 \' ~4 y4 i& m
i ...

% M, X3 I1 E$ E我一般直接改 /etc/config/firewall 这个文件,比 iptables 直观一点。6 S6 d+ }$ O% S! z

: \" }0 \' x  O; H2 V! LIPTABLES我玩得也不是特别好。。你这个需求,似乎应该这样写:. x3 A2 e; k2 o$ A; m* R* [7 R2 y
iptables -I INPUT -p tcp --dport 800 -j ACCEPT
8 l! |: h& O* x$ P7 ^iptables -A PREROUTING -t nat -p tcp --dport 800 -j DNAT --to 192.168.1.90:8006 c5 v4 \1 d8 l  X- y% b% [8 e8 ?
可能还需要这一行* x) k3 u" I. y+ R( K4 m
iptables -A FORWARD -p tcp -d 192.168.1.90 --dport 800 -j ACCEPT
$ a3 V2 M. y0 i6 d
/ p' B4 `- e: z- B如果还是不行的话,你运行一下 iptables-save 把结果贴上来看看
发表于 2012-2-12 14:14:09 | 显示全部楼层
本帖最后由 chmjiong 于 2012-2-12 14:15 编辑 ! u9 b' }4 D, e- E' S/ S+ @/ C
! \, L% T$ T" M4 H7 n4 B2 V
晕死了,trunk版的swconfig跑下来是这个结果:
& Y- j: n* g( s8 p: k  v/etc/config$  swconfig dev eth0 show
% T1 F& j3 K% g2 ]  p2 ~+ w  @Global attributes:$ _9 n: b9 ^3 T" j9 |( w) \% i
        enable_vlan: 1# y; o" G0 a) S+ L; @' k
Port 0:
. ~& `" {8 ]3 {1 ^/ o        link: port:0 link:down
+ v( z5 }1 I+ @, T' g$ Y$ K  Z% u        pvid: 1
( `; _+ w% r  M( uPort 1:
  p# L1 [7 O  T% G        link: port:1 link:up speed:100baseT full-duplex txflow rxflow auto
$ f: q3 a+ Q9 {8 [6 s        pvid: 10 l& _0 r  B' m+ g/ }7 D8 x/ a
Port 2:
0 p# b. ~3 b6 ^- H5 u' N% b        link: port:2 link:down4 Y: K+ c6 t! e
        pvid: 1! B) u% `4 n3 }! T5 w
Port 3:6 c* `; g( k! D: j. ~7 |$ q% F
        link: port:3 link:down5 u4 Y6 M' v% r6 q
        pvid: 1
% r0 K& s* s0 p" K! A" V" jPort 4:, h. K* v6 M0 i) O$ t' D/ J# _- N
        link: port:4 link:down, J8 g0 L2 }- }" K
        pvid: 1) U7 F% K, b' p9 a0 U
Port 5:$ x) J$ c. W  `- R& Q
        link: port:5 link:up speed:100baseT full-duplex txflow rxflow auto
& ~% d% w8 e: O1 @8 a$ B4 T( O6 q        pvid: 0
2 |1 m* }4 x4 T) ~4 qVLAN 1:
9 k$ f" ?; j. h4 `        vid: 1
& S2 P; _+ P( V6 O8 ]; Z. s4 A) K        ports: 0 1 2 3 4
; x( J& q1 ~0 Cport5竟然是eth1,好多资料都说tew632有独立wan的
 楼主| 发表于 2012-2-12 16:43:07 | 显示全部楼层
chmjiong 发表于 2012-2-12 14:14 : _7 |# a4 q8 L' R5 v+ Y
晕死了,trunk版的swconfig跑下来是这个结果:
2 s; ^' v8 O- [9 a7 q& {  v/etc/config$  swconfig dev eth0 show
2 u5 j+ |: ^1 P# B$ C  D' z/ jGlobal attributes ...
" r$ c- Q, c* L0 ~& V
"port5竟然是eth1,好多资料都说tew632有独立wan的", 这句话我完全没看明白。
6 h9 _$ ?/ N2 J( k, O, r从你这里显示的结果来看, port 5明明是eth0所在的交换机上的,估计是CPU端口。  h. I& `- q( z. m
从OpenWrt里的默认设置来看,wan是走eth1的,所以这个tew632就是有独立的wan的。
( r  }7 I7 X7 t2 v& J9 N1 N! t" T4 }6 M/ Z) o! C3 r; L0 b
最后,我刚搜了一下 AR8216 的 datasheet, 我觉得你不用再去折腾硬件VLAN了,它上面清清楚楚地写着只支持16个VLAN entries.
发表于 2012-2-12 17:23:09 | 显示全部楼层
本帖最后由 chmjiong 于 2012-2-12 17:25 编辑 ! B3 D4 _. a) o5 [: J7 r
spicahan 发表于 2012-2-12 16:43
- D* n4 B0 z5 l" \4 Z7 o"port5竟然是eth1,好多资料都说tew632有独立wan的", 这句话我完全没看明白。( }% ^. D* D. j# c) X' F( t
从你这里显示的结果来看, ...
% Y7 J& L9 l" ?3 L5 |* {( U' S
$ U% O! _9 P! K9 b
我一早就怀疑8216只支持到16个valn{{gangzai10{{
" p2 x+ q9 C4 I  j  o( T" }) O但是port5的事情还是很难理解,我配wan到eth0.2,valn2写为'0t 4‘的时候,port4可以通外网# v6 q# t4 \3 T6 p4 M: \# h: e

/ q' J1 e5 n- \$ Q* Q/etc/config$  swconfig dev eth0 show, E- M' c% B9 U) z" H0 u* W6 ]9 [
Global attributes:
6 C* V& d/ S/ l+ D9 D1 r: L        enable_vlan: 1
6 x; d  }' @7 J  UPort 0:
- x1 N, J2 J, i* ?0 }        link: port:0 link:down' w# m; }* M9 u* Y
        pvid: 06 j' `, [# }% F" o$ e" F  e
Port 1:
9 l( |' o0 P2 g2 F6 J7 e        link: port:1 link:up speed:100baseT full-duplex txflow rxflow auto
1 {) [3 W* H; N$ m3 ]/ r5 l        pvid: 1
( Q" J3 r9 n4 M8 x, d$ LPort 2:
3 x3 Z3 F0 F0 i* K        link: port:2 link:down
& i' b# g5 x* |# o& I- H        pvid: 18 @; y  T# E; C! P+ g2 V
Port 3:
/ P2 r& X* k- r2 O% a- \        link: port:3 link:down  y1 X7 _  m) \# S6 d' `! Z
        pvid: 1
  {1 g* K" f' J) |4 _Port 4:; ~) F, l6 E. |
        link: port:4 link:up speed:100baseT full-duplex txflow rxflow auto
& \! H5 p& ~% e7 s        pvid: 2
5 l; M3 N+ U3 o( dPort 5:4 `8 f* G8 K" u) I% l" `! I7 I
        link: port:5 link:down3 ]; {8 p! @+ d) P
        pvid: 0+ c7 ?* i% }) K% d9 P& Y
VLAN 1:
7 e4 L: S* y( a        vid: 1& H- v: N) q6 I. t2 U$ d7 _3 Y! D
        ports: 0t 1 2 3 5 M$ w+ p( `3 b3 q/ X! K
VLAN 2:
" J' B# Z* @) l. D" U/ D        vid: 2
! S5 K6 L( d: F8 F4 S4 x        ports: 0t 4
/ \4 j- I" A$ j1 V% {5 D6 a8 l* o! m9 s7 R( C$ b2 [+ }& v3 z4 e
这个时候port4拿到外网IP了
$ q  P+ q1 D( _1 S, {2 n1 Hnetwork如下:
: i+ q/ \' C3 y! O* g$ Mconfig 'interface' 'lan'3 i+ Y/ h5 P7 [1 E: ?; B
        option 'ifname' 'eth0.1'/ a7 s0 X) Z% r
        option 'type' 'bridge'9 W8 \$ p# Q7 V# r8 D& \: b9 {
        option 'proto' 'static'
7 T5 T( k4 U  s        option 'ipaddr' '192.168.1.1'( f( S; q) R- l% }; U! o' O* R
        option 'netmask' '255.255.255.0'
5 G# ]* @4 J) Y8 F: g! o0 N6 K2 Q4 a( t$ H6 T9 y
config 'interface' 'wan'
+ `% @6 ?( t' ^% t6 I$ ]        option 'ifname' 'eth0.2'; _" G) {. A! l+ C9 z) V
        option 'proto' 'dhcp'$ ?- E' e2 N1 |* y: \: k
% q) E# `  U  C  q- I+ C4 O3 c
config 'switch'4 M, P$ f, M* n
        option 'name' 'eth0'/ Z7 f5 D( J5 y' \. X' c
        option 'reset' '1'
0 Q8 x, r& g' f3 I" e3 P; v$ P        option 'enable_vlan' '1'! y4 }4 e! c) d9 Y: f9 M

, _$ G* G2 U. A' ?: {/ u6 nconfig 'switch_vlan'! t& o: P1 u  t: w$ `9 d
        option 'device' 'eth0'% M# i+ o$ x4 d$ H' l
        option 'vlan' '1'5 z8 @1 }2 ~* Q) U3 P; [. x* y
        option 'ports' '0t 1 2 3'
& U! X0 O+ O  k- [. j) e7 M. f% S% [( O) w. \$ _/ Q

) ]' i: D0 b( W6 u- S+ Econfig 'switch_vlan'
: \" @0 @; x/ i- K3 W        option 'device' 'eth0'
6 m1 m0 |* y* b; O        option 'vlan' '2'/ m0 g$ X. E4 z5 j) n
        option 'ports' '0t 4'
 楼主| 发表于 2012-2-12 18:10:13 | 显示全部楼层
chmjiong 发表于 2012-2-12 17:23 $ o! `0 {. }+ V
我一早就怀疑8216只支持到16个valn# x% p  D; X4 r9 L7 m
但是port5的事情还是很难理解,我配wan到eth0.2,val ...
7 C. R1 I: C1 X& Z7 ?4 m
这个事情是这样的,因为它只支持16个vlan, 所以你设的 51, 85, 81 其实只有二进制的低四位是有用的,也就是 51 % 16 = 3, 85 % 16 = 5, 81 % 16 = 1, 可以看出来这里 81 其实就是 1, 这样就和 LAN 冲突了(已经是1了)。如果你想再验证一下的话,可以试试保持 WAN 设成 VLAN 81, 把 LAN 设成 2, 应该是一样的。
发表于 2012-2-12 21:58:01 | 显示全部楼层
spicahan 发表于 2012-2-12 18:10
3 `; s0 a4 Y; }. N这个事情是这样的,因为它只支持16个vlan, 所以你设的 51, 85, 81 其实只有二进制的低四位是有用的,也就 ...

/ w9 \% X% S2 M不是,我现在还是搞不明白它的CPU接口究竟是port0还是port5. d7 Q' q. z5 R- l4 q) E
说是port0吧,它的wan是连到port5上的,说是port5吧,它的port0明明就是连cpu的
5 P/ I$ \9 N8 m. h& ^/ o( `$ n( |1 W. u8 o3 X
 楼主| 发表于 2012-2-13 08:37:12 | 显示全部楼层
chmjiong 发表于 2012-2-12 21:58 $ e0 E+ [4 L: F9 A) g: a9 _3 x
不是,我现在还是搞不明白它的CPU接口究竟是port0还是port55 ~! L) P% Q6 B* q% q$ R
说是port0吧,它的wan是连到port5上的,说是 ...
/ U' i+ |3 k; z7 I  a
你把所有的网线都拔掉,只用wifi连上去,看 swconfig dev eth0 show, 哪个 port 不是 disconnected 的,那个就是 cpu 端口。
发表于 2012-2-13 16:27:28 | 显示全部楼层
我把你给我的命令写了,还是不好用,这是我用iptables -S命令的结果
, T  Z1 @2 R$ j# E# b/ ?$ N( {2 E( mroot@OpenWrt:/etc# iptables -S
0 x8 P2 A& ~+ r9 y8 S( p* ~* G& R-P INPUT ACCEPT
/ q, v7 e/ T1 h" Z-P FORWARD DROP
! C; B+ F7 Z& Q/ j8 H8 ?$ ~7 X4 b9 ?-P OUTPUT ACCEPT; a8 R* L7 K6 L$ \8 m
-N forward! A$ ]% U4 g! B0 {7 v1 D+ Q
-N forwarding_lan# |2 O3 w! L* D0 N/ P$ D  r# u
-N forwarding_rule
( y2 [7 B/ ]; {3 c) d4 s7 q-N forwarding_wan  H( F# F$ M, \1 y* k
-N input7 w, ?( h% l- F) x# L( Q
-N input_lan) ~$ M5 e4 N# W5 b
-N input_rule3 F5 N; A: b8 N6 |
-N input_wan; [8 r' D  S; C1 u* E6 ^
-N output
1 P3 a6 H& @+ F, z6 }-N output_rule, F3 E* V; g! g) p' F7 N$ i- L
-N reject% j) d* E4 {3 s# g/ N! C6 }
-N syn_flood2 t0 a3 ?$ x- L( D3 `6 q
-N zone_lan" m! O+ m5 b6 ?0 w
-N zone_lan_ACCEPT
" `' A+ t% I2 m6 \  s( y  j5 P-N zone_lan_DROP
$ C6 B6 K; b3 N# d* ^) b; b-N zone_lan_MSSFIX
9 V& Q0 w, G. g: r" G2 g6 ~0 y# K; G-N zone_lan_REJECT- s( {* l' |( O$ j
-N zone_lan_forward
! d2 h6 D% ]) i( w6 u  p1 ]# Y! `-N zone_wan
& e6 K. k4 W- D/ \-N zone_wan_ACCEPT) V- e: \: J. X7 w! w
-N zone_wan_DROP. C6 r/ ^: A7 x* z) ~
-N zone_wan_MSSFIX2 \' J& J, C% k/ G
-N zone_wan_REJECT
: T1 p- w% i2 D( t, d, `-N zone_wan_forward# S8 [2 T& L, R. ^. L3 B- M
-A INPUT -p tcp -m tcp --dport 3389 -j ACCEPT 0 g2 Y1 E# N/ M% t
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
1 c# C: H$ G1 i' t8 H( ~. [2 F' I9 E-A INPUT -i lo -j ACCEPT
( b+ O1 g  n/ R4 D0 M-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood
5 `. I- P# J% ?3 p: f1 }-A INPUT -j input_rule 3 C, [6 p$ {& r+ W" c+ F/ I
-A INPUT -j input   X% M/ e' d8 t3 ]0 t. a4 i1 s
-A FORWARD -j zone_wan_MSSFIX
' k8 q- O* y( B-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT . ]- s# e! W. h5 v6 `( s2 p
-A FORWARD -j forwarding_rule ( T6 W; B8 y6 d, x7 n" X9 o) x3 F' a
-A FORWARD -j forward
  X$ J3 y9 X" e. ^7 r' l-A FORWARD -j reject
) ]6 o7 C& f0 a+ F$ M, ]0 D+ k-A FORWARD -d 192.168.1.90/32 -p tcp -m tcp --dport 3389 -j ACCEPT
! |$ ]6 {3 k  k5 l" A1 ^, g7 x, `, D-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
' X7 \' a9 K0 R, c-A OUTPUT -o lo -j ACCEPT - r6 D$ a- d- F$ ]" o4 o& X& w3 A. ^' S
-A OUTPUT -j output_rule + M: l& s( Z' G* K0 o0 r1 x
-A OUTPUT -j output 0 Y& D0 d8 ]6 V) ^
-A forward -i br-lan -j zone_lan_forward
% U$ B* u: \4 c-A forward -i pppoe-wan -j zone_wan_forward
* O( d4 e' L" a; V-A forwarding_rule -i tun0 -o br-lan -j ACCEPT
! f6 D9 R. h. J: z-A forwarding_rule -i br-lan -o tun0 -j ACCEPT 6 [8 a* v/ s  R3 W
-A input -i br-lan -j zone_lan / B9 R* b- b3 v8 c1 U" `" u
-A input -i pppoe-wan -j zone_wan
" e, Y2 J" f( T$ s, n-A output -j zone_lan_ACCEPT 3 U: U' y. `: c0 c, [, b
-A output -j zone_wan_ACCEPT + h6 z  I3 B  u$ T) S5 o) ^! C4 K
-A reject -p tcp -j REJECT --reject-with tcp-reset 4 C. J. @( a! H7 U
-A reject -j REJECT --reject-with icmp-port-unreachable ; `: b& X; L9 C2 K! \7 t* S7 v' i
-A syn_flood -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 25/sec --limit-burst 50 -j RETURN ( ^! k7 j$ a4 O9 L# k+ n
-A syn_flood -j DROP
- v' w- f6 ^+ ~* C: D8 P-A zone_lan -j input_lan # U4 @: E1 P1 |$ b- U/ ]' ]( _
-A zone_lan -j zone_lan_ACCEPT
" ~- |7 W) j* g# G-A zone_lan_ACCEPT -i br-lan -j ACCEPT + V+ g3 S4 C2 I: l- j! p+ E) K
-A zone_lan_ACCEPT -o br-lan -j ACCEPT 8 A3 H; G9 P7 n
-A zone_lan_DROP -i br-lan -j DROP
* e! c! {9 F( t" ?  _-A zone_lan_DROP -o br-lan -j DROP
7 A  _  U) F/ G; v-A zone_lan_MSSFIX -o br-lan -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
& x1 Q  u  L3 }-A zone_lan_REJECT -i br-lan -j reject % @5 G" g2 F, f9 D' u6 Q
-A zone_lan_REJECT -o br-lan -j reject + i5 ]) |$ T. Q/ ~  N8 `# [
-A zone_lan_forward -j zone_wan_ACCEPT
& {; L7 g1 Z' n7 `5 C! l7 h7 t-A zone_lan_forward -j forwarding_lan : e$ q% \$ d' a$ Q4 h+ n( g
-A zone_lan_forward -j zone_lan_REJECT % ]7 I  G2 u( O5 A! T  ~3 E
-A zone_wan -p udp -m udp --dport 68 -j ACCEPT
' U" G( g7 n' d+ C0 Y& n-A zone_wan -p tcp -m tcp --dport 2601 -j ACCEPT
! r* C8 l" A- F; _# {3 ]! G-A zone_wan -p tcp -m tcp --dport 800 -j ACCEPT 0 g+ S$ b. F: ?3 H% R& s
-A zone_wan -p udp -m udp --dport 3389 -j ACCEPT " t1 ^: w3 S- S- W4 c; n$ ?% g3 m# _1 [! ]
-A zone_wan -p tcp -m tcp --dport 3389 -j ACCEPT
* ~: b7 s% V4 Y8 ?/ s1 }) m-A zone_wan -j input_wan 2 h) U9 F7 j1 p3 W7 Z3 n4 p
-A zone_wan -j zone_wan_ACCEPT
# `+ `4 F& M+ S  E9 ^& H, D-A zone_wan_ACCEPT -i pppoe-wan -j ACCEPT % S: A+ H- {7 u) G5 q/ o; T; ^% B
-A zone_wan_ACCEPT -o pppoe-wan -j ACCEPT 4 N! P7 O6 K0 A0 J4 z
-A zone_wan_DROP -i pppoe-wan -j DROP
/ M( L1 Q7 X1 x. h. b. V-A zone_wan_DROP -o pppoe-wan -j DROP
: t& C; g9 q  C$ y/ b! p-A zone_wan_MSSFIX -o pppoe-wan -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# t6 e1 B4 M: g. \6 s: W-A zone_wan_REJECT -i pppoe-wan -j reject ! d" l& X) D- O. @9 [6 X0 K
-A zone_wan_REJECT -o pppoe-wan -j reject 3 L$ @2 u7 a0 X3 ^1 B6 ^
-A zone_wan_forward -j forwarding_wan * f0 ~" R. L6 ~4 t  J9 ~
-A zone_wan_forward -j zone_wan_REJECT , h, x6 o) j' X0 V$ O
这样3389我还是从外网连接不上
 楼主| 发表于 2012-2-14 10:21:38 | 显示全部楼层
tywg001 发表于 2012-2-13 16:27 $ {* E( y% h- r# G3 h/ x
我把你给我的命令写了,还是不好用,这是我用iptables -S命令的结果
' S5 f- v/ p0 m& iroot@OpenWrt:/etc# iptables -S
& c- I7 F* J/ `, I% `" v9 A-P  ...

, K# B* m0 ?: C9 m" s% u; V你这个 -S 只给出了默认的表的规则,还需要执行 iptables -t nat -S, 看一下 nat 表的规则。# l: G, O* ~- J$ y* i3 ]$ M
我建议你先执行 iptables -F 和 iptables -t nat -F: A/ b3 s/ O- @% ?2 ?
然后再执行我前面说的命令试试看。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-6-17 20:13 , Processed in 0.028188 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表