Avatar

Organizations

4 results for Network
  • OpenWRT 配置 IPv6,在网上有许多教程,但大部分都说的不清不楚。 所以我从 OpenWRT 配置文件的角度,给出一个肯定能用的配置。 相关配置原理不详述,可自行上网查找。

    系统环境

    • 北京联通 300M 家宽 (客服说100元/月,可提供公网IPv4/IPv6地址,其实IPv6是免费给的)
    • OpenWRT(PVE虚机,非直通网卡)
      • 目标平台:x86/64
      • 固件版本:OpenWrt 21.02.0 r16279-5cc0535800 / LuCI openwrt-21.02 branch git-23.093.57360-e98243e
      • 内核版本:5.4.143
      • DHCPv6 客户端 (odhcp6c)
      • RA & DHCPv6 服务器 (odhcpd)
      • IPv6 防火墙 (ip6tables)
      • Luci网页配置 (luci-proto-ipv6)

    配置流程

    1. 光猫桥接(电话联通,远程搞定)
    2. OpenWRT WAN IPv6 配置
    # /etc/config/network
    ...
    config interface 'lan'
            option proto 'static'
            option ipaddr '192.168.10.10'
            option netmask '255.255.255.0'
            option device 'eth0'
            option ip6assign '64' # IPv6分配长度。要与 wan 口一致。
    
    config interface 'wan'
            option proto 'pppoe'
            option username '***********'
            option password '***********'
            option device 'eth1'
            option ipv6 'auto' # 自动获取IPv6地址,使用这个选项后,会自动创建一个虚拟动态接口(WAN_6),不用配置。
            option ip6assign '64' # IPv6分配长度。参考 WAN_6 接口 IPv6-PD 的掩码长度,一般为“60”,比它大即可,系统默认为64。
    ...
    
    1. OpenWRT 防火墙配置
    # /etc/config/firewall
    ...
    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'
            option input 'DROP' # 关闭 wan 口输入流量
            option output 'ACCEPT' # 只出不进
            option forward 'REJECT'
            option masq '1' # 打开 NAT 功能
            option mtu_fix '1' # 路由器直接拨号时使用
    ...
    # 转发规划很重要
    config forwarding
            option src 'lan'
            option dest 'wan'
    ...
    # 允许外网IPv6协议下,任意地址的547端口的UDP包通过wan口,访问本机546端口
    config rule
            option name 'Allow-DHCPv6'
            option proto 'udp'
            option src 'wan'
            option src_port '547'
            option dest_port '546'
            option target 'ACCEPT'
            option family 'ipv6'
    
    1. OpenWRT DHCP 配置
    # /etc/config/dhcp
    ...
    config dhcp 'lan'
            option interface 'lan'
            option start '100'
            option dhcpv4 'server'
            option limit '200'
            option force '1'
            option leasetime '2h'
            option ra 'server' # RA服务 服务器模式
            option dhcpv6 'server' # DHCPv6服务 服务器模式
            list ra_flags 'none' # RA标记 无
    
    config dhcp 'wan'
            option interface 'wan'
            option ignore '1'
            list ra_flags 'none'
    
    config odhcpd 'odhcpd'
            option maindhcp '0'
            option leasefile '/tmp/hosts/odhcpd'
            option leasetrigger '/usr/sbin/odhcpd-update'
            option loglevel '4'
    
    1. 重启OpenWRT
    2. 查看 Luci -> 网络 -> 接口 -> LAN,已拿到的IPv6地址
    3. 测试本机外网IPv6地址,与 LAN 的 IPv6地址一致即可
    $ curl 6.ipw.cn
    

    参考文档

    firewall network ipv6 openwrt Created Wed, 04 Oct 2023 19:48:18 +0800
  • 1. 网络配置的方法

    • 1.1 Hyper-V 安装完后,将自动创建一个“默认虚拟交换机”,并同时创建一个同名的虚拟网卡。
      • 此交换机名及虚拟网卡都无法修改,虚拟机直接填加即可使用网络。
      • 虚拟机之间互联,再创建一个“内部交换机”,添加到虚拟机并设置同一网段即可。
      • 缺点:速度较慢
    • 1.2 将宿主机物理网卡直接共享给“默认虚拟交换机”创建的虚拟网卡,是比较省事、且高效的方法,相当于在物理网卡上做了一个NAT转换。
      • 优点:“默认虚拟交换机”创建的虚拟网卡IP地址会自动固定为192.168.137.1,所有虚拟机的网段会固定为192.168.137.0。网速较快。
      • 缺点:
        • 在多个物理网卡之间切换时非常不方便;
        • 在ReviOS等第三方精简系统中,运作不稳定。
    • 1.3 在宿主机使用无线网卡时,由于Hyper-V对无线网卡支持的不好,需要做以下操作:
      • 新建“外部虚拟交换机”:
        • 选择宿主机网卡。
          • 勾选“允许管理操作系统共享此网络适配器”。
            • 网速较快。
            • 会在宿主机上创建一个网桥,一个虚拟网卡,且宿主机可同时上网。
          • 反之,则只会添加一个网桥,且宿主机无法同时上网。
            • 这是 Hyper-V 对无线网卡支持不够好的表现,而且网速很慢,慢到什么程度呢?慢到微信连文件都发不出去!
      • 新建“内部虚拟交换机”:
        • 会在宿主机上创建一个虚拟网卡。
        • 将所有虚拟机都接入自建的“内部虚拟交换机”,可以解决IP变化的问题。
      • 在宿主机上,将“外部虚拟交换机”创建的虚拟网卡,共享给“内部虚拟交换机”创建的虚拟网卡。
        • “内部虚拟交换机”创建的虚拟网卡IP地址会自动固定为192.168.137.1,所有虚拟机的网段会固定为192.168.137.0。
      • 在ReviOS等第三方精简系统中,运作不稳定。

    PS:

    • 如在宿主机同时安装了“Windows沙盒”功能,则沙盒会给每个物理网卡和虚拟网卡,都自动的再创建一个对应的虚拟网卡,容易造成混乱,使用中要注意。
    • Windows 网络共享重启会失效,这个BUG一直没有解决,需要如此解决:
      • 找到“Internet Connection Sharing”服务
        • 启动类型:自动
      • 找到注册表中“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess”
        • 新建“DWORD(32位)值(D)”:EnableRebootPersistConnection
        • 值(十六进制):1
      • 重启电脑
    • 最好给每个虚拟机都设置外网DNS,比如1.2.4.8,因为hyper-v的DNS服务不是很稳定。

    2. 网络拓扑

    使用以下拓扑结构来,解决多个物理网卡随时切换的问题: 宿主机直连路由器,宿主机上创建一个虚拟路由器,和一个虚拟机,宿主机与虚拟机都通过虚拟路由器来上网。

    TP Route宿主机OpenWRT虚拟机
    WLAN>DHCPIP: 192.168.10.113IP: 192.168.10.114mac: ac-8f>BridgeIP: -mac: ac-8f--
    外部网络->WLANIP: 192.168.10.113mac: ac-8f>WLANIP: 192.168.10.114mac: 01-36-
    内部网络->DHCPIP: 192.168.123.100mac: 01-28>StaticIP: 192.168.123.1mac: 01-29>DHCPIP: 192.168.123.102mac: 01-2c
    网桥->SwitchIP: -mac: ac-8f--

    可以尝试使用网桥功能,解决多物理网卡切换的问题

    network Hyper-V windows Created Mon, 26 Dec 2022 20:49:50 +0800
  • 网卡静态地址

    ~# nano /etc/network/interfaces
    
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
        address 192.168.10.16/24
        gateway 192.168.10.10
        hostname alpine
    

    配置 DNS

    # nano /etc/resolv.conf
    nameserver 114.114.114.114
    

    重启网络

    ~# service networking restart
    
    linux network Alpine linux Created Sun, 19 Jun 2022 15:25:18 +0800
  • 基于Centos 7

    查看设备信息

    # 简单接口状态
    $ nmcli dev status
    # 详细的接口信息
    $ nmcli dev show
    # 接口的详细信息
    $ nmcli dev show <interface-name>
    

    查看连接(connection)的信息

    # 简单信息
    $ nmcli conn show
    # 详细的连接信息
    $ nmcli conn show
    # 某个连接的详细信息
    $ nmcli conn show <conn-name>
    

    创建连接

    nmcli conn add type <ethernet> con-name <conn-name> ifname <dev-name> ip4 <192.168.100.100/24> [gw4 <192.168.100.1>]
    

    修改配置

    静态IP改动态IP

    nmcli conn mod <conn-name> /
        ipv4.method auto /
        ipv4.address "" /
        ipv4.gateway "" /
        ipv4.dns ""
    

    修改DNS

    $ nmcli conn mod <conn-name> ipv4.dns "1.2.4.8"
    

    设置自动连接

    # 查询和显示所有网络连接的自动连接属性的当前值
    $ nmcli -f name,autoconnect connection
    # 更改网络连接的属性值
    $ nmcli conn mod <conn-name> connection.autoconnect yes
    

    配置生效

    nmcli conn up <conn-name>
    

    激活连接

    $ nmcli conn up <conn-name>
    $ nmcli conn down <conn-name>
    
    $ nmcli dev connect <dev-name>
    $ nmcli dev disconnect <dev-name>
    

    建议使用 nmcli dev disconnect interface-name 命令,而不是 nmcli con down connection-name 命令,因为连接断开可将该接口放到“手动”模式,这样做用户让 NetworkManager 启动某个连接前,或发生外部事件(比如载波变化、休眠或睡眠)前,不会启动任何自动连接。

    CLI nmcli network Linux Created Mon, 17 Jan 2022 15:17:58 +0800