LINUX.ORG.RU

Помогите настроить TP-LINK MR3420 с OpenWRT


0

1

Гроза спалила WAN порт. Роутер принадлежит знакомому дедушке, он отдал мне его на оживление, как это у дедушек бывает, денег на новый нету. Решил я его перепрошить на openwrt и переназнаить порт wan на один из lan портов. И не получилось сходу. OpenWRT мне мало знакома, вроде бы все делаю, а не пашет. Помогите разобраться в чем дело. Задача такова: сделать что бы все было как на обычном роутере, но вместо wan был LAN1. Привожу текущий конфиг роутера /etc/config/network:

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option _orig_ifname 'eth0 radio0.network1'
	option _orig_bridge 'true'
	option ifname 'eth0.1 eth0.2 eth1'

config interface 'wan'
	option proto 'dhcp'
	option type 'bridge'
	option _orig_ifname 'eth1'
	option _orig_bridge 'true'
	option ifname 'eth0.2 eth1'

config switch
	option name 'eth0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'eth0'
	option vlan '1'
	option vid '1'
	option ports '0t 1 3 4'

config switch_vlan
	option device 'eth0'
	option vlan '2'
	option vid '2'
	option ports '0t 2'

Если нужно что то еще из конфигов, скажите, добавлю.

Меня смущают строчки

option ifname 'eth0.1 eth0.2 eth1'
option ifname 'eth0.2 eth1'

У тебя eth0.2 это WAN , а eth0.1 это LAN. Что такое eth1? Wifi?

ИМХО должно быть так (насчёт eth1 хз):

config interface 'lan'
	...
	option ifname 'eth0.1'

config interface 'wan'
	...
	option ifname 'eth0.2'

Ещё покажи /etc/config/firewall

Nao ★★★★★ ()
Ответ на: комментарий от Nao

Luci я поставил, но пока настраиваешь, отваливается связь (из за настроек) с точкой доступа и luci перестает быть доступна. Я большую часть конфига написал через vi, соединившись с точкой в безопасном режиме. По другому все время не так что то, не могу настроить нормально. Сейчас работает соединение через вайфай и доступен конфигуратор luci через него, порты на точке по проводу связь не дают, wan по dhcp с моего роутера получает адрес, но опять же в интернет с вайфая не пускает.

/etc/config/firewall

config defaults
	option syn_flood	1
	option input		ACCEPT
	option output		ACCEPT
	option forward		REJECT
# Uncomment this line to disable ipv6 rules
#	option disable_ipv6	1

config zone
	option name		lan
	list   network		'lan'
	option input		ACCEPT
	option output		ACCEPT
	option forward		ACCEPT

config zone
	option name		wan
	list   network		'wan'
	list   network		'wan6'
	option input		REJECT
	option output		ACCEPT
	option forward		REJECT
	option masq		1
	option mtu_fix		1

config forwarding
	option src		lan
	option dest		wan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
	option name		Allow-DHCP-Renew
	option src		wan
	option proto		udp
	option dest_port	68
	option target		ACCEPT
	option family		ipv4

# Allow IPv4 ping
config rule
	option name		Allow-Ping
	option src		wan
	option proto		icmp
	option icmp_type	echo-request
	option family		ipv4
	option target		ACCEPT

# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
config rule
	option name		Allow-DHCPv6
	option src		wan
	option proto		udp
	option src_ip		fe80::/10
	option src_port		547
	option dest_ip		fe80::/10
	option dest_port	546
	option family		ipv6
	option target		ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
	option name		Allow-ICMPv6-Input
	option src		wan
	option proto	icmp
	list icmp_type		echo-request
	list icmp_type		echo-reply
	list icmp_type		destination-unreachable
	list icmp_type		packet-too-big
	list icmp_type		time-exceeded
	list icmp_type		bad-header
	list icmp_type		unknown-header-type
	list icmp_type		router-solicitation
	list icmp_type		neighbour-solicitation
	list icmp_type		router-advertisement
	list icmp_type		neighbour-advertisement
	option limit		1000/sec
	option family		ipv6
	option target		ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
	option name		Allow-ICMPv6-Forward
	option src		wan
	option dest		*
	option proto		icmp
	list icmp_type		echo-request
	list icmp_type		echo-reply
	list icmp_type		destination-unreachable
	list icmp_type		packet-too-big
	list icmp_type		time-exceeded
	list icmp_type		bad-header
	list icmp_type		unknown-header-type
	option limit		1000/sec
	option family		ipv6
	option target		ACCEPT

# include a file with users custom iptables rules
config include
	option path /etc/firewall.user


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
#	option src		lan
#	option src_ip	192.168.45.2
#	option dest		wan
#	option proto	tcp
#	option target	REJECT

# block a specific mac on wan
#config rule
#	option dest		wan
#	option src_mac	00:11:22:33:44:66
#	option target	REJECT

# block incoming ICMP traffic on a zone
#config rule
#	option src		lan
#	option proto	ICMP
#	option target	DROP

# port redirect port coming in on wan to lan
#config redirect
#	option src			wan
#	option src_dport	80
#	option dest			lan
#	option dest_ip		192.168.16.235
#	option dest_port	80
#	option proto		tcp

# port redirect of remapped ssh port (22001) on wan
#config redirect
#	option src		wan
#	option src_dport	22001
#	option dest		lan
#	option dest_port	22
#	option proto		tcp

# allow IPsec/ESP and ISAKMP passthrough
#config rule
#	option src		wan
#	option dest		lan
#	option protocol		esp
#	option target		ACCEPT

#config rule
#	option src		wan
#	option dest		lan
#	option src_port		500
#	option dest_port	500
#	option proto		udp
#	option target		ACCEPT

### FULL CONFIG SECTIONS
#config rule
#	option src		lan
#	option src_ip	192.168.45.2
#	option src_mac	00:11:22:33:44:55
#	option src_port	80
#	option dest		wan
#	option dest_ip	194.25.2.129
#	option dest_port	120
#	option proto	tcp
#	option target	REJECT

#config redirect
#	option src		lan
#	option src_ip	192.168.45.2
#	option src_mac	00:11:22:33:44:55
#	option src_port		1024
#	option src_dport	80
#	option dest_ip	194.25.2.129
#	option dest_port	120
#	option proto	tcp

ifconfig

br-lan    Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B5  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::6666:b3ff:fe88:a8b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:929 errors:0 dropped:0 overruns:0 frame:0
          TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:61806 (60.3 KiB)  TX bytes:33045 (32.2 KiB)

eth0      Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B5  
          inet6 addr: fe80::6666:b3ff:fe88:a8b5/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:2258 (2.2 KiB)
          Interrupt:4 

eth0.1    Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B5  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:9034 (8.8 KiB)

eth0.2    Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B5  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:134 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:9034 (8.8 KiB)

eth1      Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B6  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:135 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8958 (8.7 KiB)  TX bytes:2318 (2.2 KiB)
          Interrupt:5 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2448 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2448 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:166464 (162.5 KiB)  TX bytes:166464 (162.5 KiB)

wlan0     Link encap:Ethernet  HWaddr 64:66:B3:88:A8:B6  
          inet6 addr: fe80::6666:b3ff:fe88:a8b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:807 errors:0 dropped:0 overruns:0 frame:0
          TX packets:395 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:67171 (65.5 KiB)  TX bytes:49896 (48.7 KiB)

i3draven ★★ ()
Ответ на: комментарий от Nao

Вот спасибо! Дело было в том, что swconfig list показывал, что свитч это eth1, а у меня все было указано как eth0. Поправил и все пашет отлично!

Спасибо еще раз.

Приведу полный конфиг, может кому надо будет. wan настроен получать адрес по dhcp.

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
#	option _orig_ifname 'eth1 radio0.network1'
#	option _orig_bridge 'true'
	option ifname 'eth1.1 wlan0'

config interface 'wan'
	option proto 'dhcp'
	option type 'bridge'
	option _orig_ifname 'eth1'
	option _orig_bridge 'true'
	option ifname 'eth1.2'

config switch
	option name 'eth1'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'eth1'
	option vlan '1'
	option vid '1'
	option ports '0t 1 3 4'

config switch_vlan
	option device 'eth1'
	option vlan '2'
	option vid '2'
	option ports '0t 2'

Спасибо!

i3draven ★★ ()
Ответ на: комментарий от i3draven

Дополнительно выкладваю конфиг с настройкой вайфай, без таких настроек скорость выше 10мбит/с не поднималась. Пока недостаток только один, wan по dhcp адрес берет не всегда (переткнул провод, заводится), но это не важно, так как у дедушки этого интернет будет от провайдера по pppoe.

config wifi-device 'radio0'
	option type 'mac80211'
	option hwmode '11ng'
	option path 'platform/ar934x_wmac'
	option htmode 'HT40-'
	option txpower '30'
	option country '00'
	option channel '11'
	list ht_capab 'SHORT-GI-40'
	list ht_capab 'DSSS_CCK-40'
	option noscan '1'
	option disabled '0'
	option macaddr 'XX:XX:XX:XX:XX:XX'

config wifi-iface
	option device 'radio0'
	option mode 'ap'
	option ssid '----------'
	option encryption 'mixed-psk+ccmp'
	option key '------------'
	option network 'lan'
i3draven ★★ ()
Ответ на: комментарий от i3draven

Это окончательный конфиг сети /etc/config/network

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config interface 'lan'
	option type 'bridge'
	option proto 'static'
	option ipaddr '192.168.1.1'
	option netmask '255.255.255.0'
	option ifname 'eth1.1 wlan0'

config interface 'wan'
	option proto 'dhcp'
	option ifname 'eth1.2'

config switch
	option name 'eth1'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'eth1'
	option vlan '1'
	option vid '1'
	option ports '0t 1 3 4'

config switch_vlan
	option device 'eth1'
	option vlan '2'
	option vid '2'
	option ports '0t 2'

Обратите внимание на то, что номера портов «логические» они с физиескими как я понял не совпадают. Потому wan это порт 2, а фактически на роутере это порт LAN1.

i3draven ★★ ()
Ответ на: комментарий от i3draven

Есть одна штука, которую я возможно неверно понимаю. Так что поправьте если кто знает лучше. 0t в конфиге сети это указание для софта, отправлять на 0 порт тегированный трафик. Тегированный, это значит с указанием того какой виртуальной сети он принадлежит (1 или 2). 0 порт это свитч внутри точки доступа, который умеет понимать, что такое «тегированый» и тем самым разбирать трафик на две виртуальные сети. Для остальных портов t не у казано потому, что оборудование которое будет к ним подключено тегированый трафик не поймет (у меня такое...почти у всех такое :)).

Надо это все только за тем, что бы внутри точки доступа свитч понял, что у него две виртуальные сети внутри организованы и что с трафиком для них делать. Для устройства одной сети (wan) он получает адрес по dhcp, для устройства другой (lan) выдает статический адрес.

Сами виртуальные сети нужны только что бы как то обращаться к отдельным наборам поров. Фактически виртуальная сеть это отдельный «виртуальный свитч» в котором эти порты объединены.

Пишу так подробно потому, что сам допирал долго и не совсем еще все понял, а то, что понял может и не верно :)

i3draven ★★ ()
Ответ на: комментарий от i3draven

Почти так. Switch это отдельное устройство с N-ным кол-вом внешних портов и одним портом который идёт в CPU (его ещё называют cpu port)
У тебя в системе cpu port (номер 0) это eth1.
Остальные порты напрямую не видны из ОС.
(тут картинка http://wiki.openwrt.org/doc/uci/network/switch )

Так как согласно твоим настройкам на cpu port трафик тегируется, то и на eth1 он тегированный.
Можешь поставить tcpdump и послушать этот интерфейс - увидишь теги.

Затем VLAN-овский драйвер в ядре разделяет трафик с eth1 на отдельные интерфейсы eth1.0 eth1.1 и т.д. в зависимости от тега.
Там уже трафик не тегированный.

VLAN нужен не только для этого, тут скорее вырожденный случай его использования. В википедии написано подробнее.

Вся эта фигня со свитчем нужна скорее всего что бы не нагружать лишней работой CPU.
Например если бы каждый порт был бы представлен в системе просто как отдельное устройство ethX и был бы сделан один большой bridge на все лановские порты, то пересылка пакетов даже внутри lan с одного порта на другой проходила бы с участием CPU.
А тут свитч может сам всю работу сделать самостоятельно.

Nao ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.