linux mysql dns_记一次Multicast DNS(mdns)的问题-(linux 下ifconfig)

前言:近期在查询mdns的问题过程一波三折,问题总结下来可以分为三块,都是比较基础性的问题:

1.网关ifconfig查询地址

2.多个程序同时占用一个端口号占用编码问题

3.mdns协议及实现源码

mdns是用于局域网发现的一种协议,网关搭载的linux系统,首先得确定其使用的是哪个地址作为通讯,说一个最简单的指令:ifconfig,虽然早就知道这个指令,但是其实这个指令包含比较多的基础知识。

用我使用的openwrt路由器输入ifconfig:

br-lan Link encap:Ethernet HWaddr 04:A1:51:9A:03:67

inet addr:198.100.100.1 Bcast:198.100.100.255 Mask:255.255.255.0

inet6 addr: fdbb:e076:9029::1/60 Scope:Global

inet6 addr: fe80::6a1:51ff:fe9a:367/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:37358673 errors:0 dropped:0 overruns:0 frame:0

TX packets:49805372 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:10001210378 (9.3 GiB) TX bytes:49536338006 (46.1 GiB)

eth0 Link encap:Ethernet HWaddr BE:7F:7D:5D:09:D9

inet6 addr: fe80::bc7f:7dff:fe5d:9d9/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:71274265 errors:0 dropped:0 overruns:383 frame:0

TX packets:67972711 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:23375869 (22.2 MiB) TX bytes:4047624223 (3.7 GiB)

Interrupt:4

eth0.1 Link encap:Ethernet HWaddr BE:7F:7D:5D:09:D9

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:27485423 errors:0 dropped:0 overruns:0 frame:0

TX packets:32246955 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:8388027931 (7.8 GiB) TX bytes:32142311436 (29.9 GiB)

eth0.2 Link encap:Ethernet HWaddr 04:A1:51:9A:03:68

inet addr:193.168.1.125 Bcast:193.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::6a1:51ff:fe9a:368/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:43788842 errors:0 dropped:0 overruns:0 frame:0

TX packets:35727507 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:46186987470 (43.0 GiB) TX bytes:10288278423 (9.5 GiB)

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:10489 errors:0 dropped:0 overruns:0 frame:0

TX packets:10489 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1066479 (1.0 MiB) TX bytes:1066479 (1.0 MiB)

wlan0 Link encap:Ethernet HWaddr 04:A1:51:9A:03:67

inet6 addr: fe80::6a1:51ff:fe9a:367/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:4839004 errors:0 dropped:0 overruns:0 frame:0

TX packets:5852922 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:670518236 (639.4 MiB) TX bytes:1589348208 (1.4 GiB)

wlan1 Link encap:Ethernet HWaddr 04:A1:51:9A:03:69

inet6 addr: fe80::6a1:51ff:fe9a:369/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:5443036 errors:0 dropped:0 overruns:0 frame:0

TX packets:9474688 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1115674576 (1.0 GiB) TX bytes:1268032438 (1.1 GiB)

此处br-lan,eth0,eth0.1…代表的是什么意思呢?

通过查阅,知道了其实在系统文件(network ,wireless)中针对有线和无线早有配置。

root@OpenWrt:/etc/config# cat network

config interface 'loopback'

option ifname 'lo'

option proto 'static'

option ipaddr '127.0.0.1'

option netmask '255.0.0.0'

config globals 'globals'

option ula_prefix 'fdbb:e076:9029::/48'

config interface 'lan'

option ifname 'eth0.1'

option force_link '1'

option type 'bridge'

option proto 'static'

option netmask '255.255.255.0'

option ip6assign '60'

option macaddr '04:a1:51:9a:03:67'

option ipaddr '198.100.100.1'

config interface 'wan'

option ifname 'eth0.2'

option proto 'dhcp'

option macaddr '04:a1:51:9a:03:68'

config interface 'wan6'

option ifname 'eth0.2'

option proto 'dhcpv6'

config switch

option name 'switch0'

option reset '1'

option enable_vlan '1'

config switch_vlan

option device 'switch0'

option vlan '1'

option ports '0t 1 2 3 4'

config switch_vlan

option device 'switch0'

option vlan '2'

option ports '0t 5'

root@OpenWrt:/etc/config# cat wireless

config wifi-device 'radio0'

option type 'mac80211'

option hwmode '11g'

option path 'platform/ar934x_wmac'

option htmode 'HT20'

option txpower '22'

option country 'US'

option channel '6'

config wifi-device 'radio1'

option type 'mac80211'

option channel '36'

option hwmode '11a'

option path 'pci0000:00/0000:00:00.0'

option htmode 'HT20'

option txpower '14'

option country 'US'

config wifi-iface

option device 'radio1'

option network 'lan'

option mode 'ap'

option ssid 'jthlw-cj5G'

option encryption 'psk-mixed'

option key '11223344'

config wifi-iface

option device 'radio0'

option mode 'ap'

option network 'lan'

option ssid 'jthlw-cj'

option encryption 'psk-mixed'

option key 'cjcjcj12345'

首先粘贴一张盗版的openwrt的架构:

f8bd6be84a2f1246b63a43ac3f82eee7.png

网关的两个网卡:eth0,eht2分别为一个有线一个无线网卡,这是两个真实的网卡,是有对应的mac地址的。

通过配置

config interface 'lan'

option ifname 'eth0.1'

option force_link '1'

option type 'bridge'

option proto 'static'

option netmask '255.255.255.0'

option ip6assign '60'

option macaddr '04:a1:51:9a:03:67'

option ipaddr '198.100.100.1'

config interface 'wan'

option ifname 'eth0.2'

option proto 'dhcp'

option macaddr '04:a1:51:9a:03:68'

可以看出:eth0是有线网卡,eth0.1,eth0.2从上面通过switch虚拟出来,eth0.1对应LAN口,eth0.2对应WAN口,其地址都可以手动修改。

而radio0, radio1对应的是无线网卡(2.4G ,5G)

而br-lan是虚拟出来的,用于统一管理LAN

root@OpenWrt:/etc/config# brctl show

bridge name bridge id STP enabled interfaces

br-lan 7fff.04a1519a0367 no eth0.1

wlan1

wlan0

所以可以看出,eth0.2用于WAN口,其上一级的IP为:193.168.1.125;eth0.1用于管理LAN口,子LAN口的IP都由198.100.100.1进行分配。

(以上只是自己对网关很浅的一些认识,更多的可以关注下面引用的博客,并且诸如防火墙(firewall的设置可以参见:、etc/config 下面的firewall文件)))

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值