1、IP地址配置
手动指定IP
以下3个命令都可以完成IP地址的配置:
- ifconfig interface [address_family] [address [netmask]]
- ipconfig set interface-name (MANUAL | INFORM) ip-address subnet-mask
- networksetup -setmanual <networkservice> <ip> <subnet> <router>
手动指定IP举例:
macbook$ sudo ifconfig en0 inet 192.168.1.10 netmask 255.255.255.0
macbook$ sudo ipconfig set en0 MANUAL 192.168.1.10 255.255.255.0
macbook$ sudo networksetup -setmanual Wi-Fi 192.168.1.10 255.255.255.0 192.168.1.1
注意:ifconfig和ipconfig都是指定网口设备名称,而networksetup要求使用MacOS为网口设置的别名(所谓“network service”)来指定网口。
使用DHCP配置IP
可以使用以下2个命令来重新获取DHCP配置:
- ipconfig set interface-name (DHCP | BOOTP)
- networksetup -setdhcp <networkservice>
使用DHCP动态获取IP地址举例:
macbook$ ipconfig set en0 DHCP
macbook$ networksetup -setdhcp Wi-Fi
注意:ifconfig和ipconfig都是指定网口设备名称,而networksetup要求使用MacOS为网口设置的别名(所谓“network service”)来指定网口。
配置默认网关
可以使用以下命令配置默认网关:
- networksetup -setmanual <networkservice> <ip> <subnet> <router>
- route [add | change ] default <gateway>
- route [add | change ] -net 0.0.0.0 <gateway>
默认网关配置举例:
macbook$ sudo networksetup -setmanual Wi-Fi 192.168.1.10 255.255.255.0 192.168.1.1
以下两条命令等价:
macbook$ sudo route add default 192.168.1.1 macbook$ sudo route add -net 0.0.0.0 192.168.1.1
如果已存在默认路由,你可能需要先删除现有默认路由,然后再添加默认路由:
macbook$ sudo route delete default macbook$ sudo route add default 192.168.1.1
或者你也可以替换现有默认路由:
macbook$ sudo route change default 192.168.1.1
添加静态路由
可以使用以下命令添加路由:
macbook$ sudo route [-n] [add | delete | change] [-net | -host] [-ifscope boundif] destination gateway [netmask]
首先查看当前路由表:
macbook$ netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.1.1 UGSc 21 5 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 1699 lo0 169.254 link#4 UCS 0 0 en0 169.254 link#6 UCSI 1 0 en6 169.254.89.143/32 link#6 UCS 0 0 en6 192.168.1 link#4 UCS 1 0 en0 192.168.1.1/32 link#4 UCS 1 0 en0 192.168.1.1 f4:ec:38:1e:ea:52 UHLWIir 19 224 en0 887 192.168.1.101/32 link#4 UCS 1 0 en0 192.168.1.101 48:d7:5:cb:7d:bd UHLWIi 1 4 lo0 192.168.1.104 7c:b2:32:70:33:5c UHLWI 0 2 en0 1053 224.0.0/4 link#4 UmCS 2 0 en0 224.0.0/4 link#6 UmCSI 0 0 en6 224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0 239.255.255.250 1:0:5e:7f:ff:fa UHmLWI 0 3 en0 255.255.255.255/32 link#4 UCS 0 0 en0 255.255.255.255/32 link#6 UCSI 0 0 en6 Internet6: Destination Gateway Flags Netif Expire default fe80::%utun1 UGcI utun1 ::1 ::1 UHL lo0 fdf7:a4c1:cda:e04f::/64 fe80::f4d3:8e83:6ac7:4c70%utun0 Uc utun0 fdf7:a4c1:cda:e04f:f4d3:8e83:6ac7:4c70 link#10 UHL lo0 fe80::%lo0/64 fe80::1%lo0 UcI lo0 fe80::1%lo0 link#1 UHLI lo0 fe80::%en0/64 link#4 UCI en0 fe80::ca3:96a0:7113:b973%en0 48:d7:5:cb:7d:bd UHLI lo0 fe80::%en6/64 link#6 UCI en6 fe80::c02:7c0f:52a1:d528%en6 ff:fa:0:0:78:86 UHLI lo0 fe80::%awdl0/64 link#8 UCI awdl0 fe80::e00e:6dff:fef9:e630%awdl0 e2:e:6d:f9:e6:30 UHLI lo0 fe80::%utun0/64 fe80::f4d3:8e83:6ac7:4c70%utun0 UcI utun0 fe80::f4d3:8e83:6ac7:4c70%utun0 link#10 UHLI lo0 fe80::%utun1/64 fe80::593a:c424:495:3b05%utun1 UcI utun1 fe80::593a:c424:495:3b05%utun1 link#11 UHLI lo0 ff01::%lo0/32 ::1 UmCI lo0 ff01::%en0/32 link#4 UmCI en0 ff01::%en6/32 link#6 UmCI en6 ff01::%awdl0/32 link#8 UmCI awdl0 ff01::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff01::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1 ff02::%lo0/32 ::1 UmCI lo0 ff02::%en0/32 link#4 UmCI en0 ff02::%en6/32 link#6 UmCI en6 ff02::%awdl0/32 link#8 UmCI awdl0 ff02::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff02::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1
方法1:添加路由:
macbook$ sudo route add -net 10.1.1.1/32 192.168.1.1 Password: add net 10.1.1.1: gateway 192.168.1.1
查看当前路由表:
macbook$ netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.1.1 UGSc 23 5 en0 10.1.1.1/32 192.168.1.1 UGSc 0 0 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 1699 lo0 169.254 link#4 UCS 0 0 en0 169.254 link#6 UCSI 1 0 en6 169.254.89.143/32 link#6 UCS 0 0 en6 192.168.1 link#4 UCS 1 0 en0 192.168.1.1/32 link#4 UCS 1 0 en0 192.168.1.1 f4:ec:38:1e:ea:52 UHLWIir 22 210 en0 1000 192.168.1.101/32 link#4 UCS 1 0 en0 192.168.1.101 48:d7:5:cb:7d:bd UHLWI 0 4 lo0 192.168.1.104 7c:b2:32:70:33:5c UHLWIi 1 2 en0 1166 224.0.0/4 link#4 UmCS 2 0 en0 224.0.0/4 link#6 UmCSI 0 0 en6 224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0 239.255.255.250 1:0:5e:7f:ff:fa UHmLWI 0 3 en0 255.255.255.255/32 link#4 UCS 0 0 en0 255.255.255.255/32 link#6 UCSI 0 0 en6 Internet6: Destination Gateway Flags Netif Expire default fe80::%utun1 UGcI utun1 ::1 ::1 UHL lo0 fdf7:a4c1:cda:e04f::/64 fe80::f4d3:8e83:6ac7:4c70%utun0 Uc utun0 fdf7:a4c1:cda:e04f:f4d3:8e83:6ac7:4c70 link#10 UHL lo0 fe80::%lo0/64 fe80::1%lo0 UcI lo0 fe80::1%lo0 link#1 UHLI lo0 fe80::%en0/64 link#4 UCI en0 fe80::ca3:96a0:7113:b973%en0 48:d7:5:cb:7d:bd UHLI lo0 fe80::%en6/64 link#6 UCI en6 fe80::c02:7c0f:52a1:d528%en6 ff:fa:0:0:78:86 UHLI lo0 fe80::%awdl0/64 link#8 UCI awdl0 fe80::e00e:6dff:fef9:e630%awdl0 e2:e:6d:f9:e6:30 UHLI lo0 fe80::%utun0/64 fe80::f4d3:8e83:6ac7:4c70%utun0 UcI utun0 fe80::f4d3:8e83:6ac7:4c70%utun0 link#10 UHLI lo0 fe80::%utun1/64 fe80::593a:c424:495:3b05%utun1 UcI utun1 fe80::593a:c424:495:3b05%utun1 link#11 UHLI lo0 ff01::%lo0/32 ::1 UmCI lo0 ff01::%en0/32 link#4 UmCI en0 ff01::%en6/32 link#6 UmCI en6 ff01::%awdl0/32 link#8 UmCI awdl0 ff01::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff01::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1 ff02::%lo0/32 ::1 UmCI lo0 ff02::%en0/32 link#4 UmCI en0 ff02::%en6/32 link#6 UmCI en6 ff02::%awdl0/32 link#8 UmCI awdl0 ff02::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff02::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1
方法二:添加路由:
macbook$ sudo route add -net 10.1.1.2 -netmask 255.255.255.255 192.168.1.1
add net 10.1.1.2: gateway 192.168.1.1
查看路由表:
macbook$ netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 192.168.1.1 UGSc 21 5 en0 10.1.1.1/32 192.168.1.1 UGSc 0 0 en0 10.1.1.2/32 192.168.1.1 UGSc 0 0 en0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 1699 lo0 169.254 link#4 UCS 0 0 en0 169.254 link#6 UCSI 1 0 en6 169.254.89.143/32 link#6 UCS 0 0 en6 192.168.1 link#4 UCS 2 0 en0 192.168.1.1/32 link#4 UCS 1 0 en0 192.168.1.1 f4:ec:38:1e:ea:52 UHLWIir 21 224 en0 962 192.168.1.101/32 link#4 UCS 1 0 en0 192.168.1.101 48:d7:5:cb:7d:bd UHLWI 0 4 lo0 192.168.1.104 7c:b2:32:70:33:5c UHLWI 0 2 en0 1128 224.0.0/4 link#4 UmCS 2 0 en0 224.0.0/4 link#6 UmCSI 0 0 en6 224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0 239.255.255.250 1:0:5e:7f:ff:fa UHmLWI 0 3 en0 255.255.255.255/32 link#4 UCS 0 0 en0 255.255.255.255/32 link#6 UCSI 0 0 en6 Internet6: Destination Gateway Flags Netif Expire default fe80::%utun1 UGcI utun1 ::1 ::1 UHL lo0 fdf7:a4c1:cda:e04f::/64 fe80::f4d3:8e83:6ac7:4c70%utun0 Uc utun0 fdf7:a4c1:cda:e04f:f4d3:8e83:6ac7:4c70 link#10 UHL lo0 fe80::%lo0/64 fe80::1%lo0 UcI lo0 fe80::1%lo0 link#1 UHLI lo0 fe80::%en0/64 link#4 UCI en0 fe80::ca3:96a0:7113:b973%en0 48:d7:5:cb:7d:bd UHLI lo0 fe80::%en6/64 link#6 UCI en6 fe80::c02:7c0f:52a1:d528%en6 ff:fa:0:0:78:86 UHLI lo0 fe80::%awdl0/64 link#8 UCI awdl0 fe80::e00e:6dff:fef9:e630%awdl0 e2:e:6d:f9:e6:30 UHLI lo0 fe80::%utun0/64 fe80::f4d3:8e83:6ac7:4c70%utun0 UcI utun0 fe80::f4d3:8e83:6ac7:4c70%utun0 link#10 UHLI lo0 fe80::%utun1/64 fe80::593a:c424:495:3b05%utun1 UcI utun1 fe80::593a:c424:495:3b05%utun1 link#11 UHLI lo0 ff01::%lo0/32 ::1 UmCI lo0 ff01::%en0/32 link#4 UmCI en0 ff01::%en6/32 link#6 UmCI en6 ff01::%awdl0/32 link#8 UmCI awdl0 ff01::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff01::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1 ff02::%lo0/32 ::1 UmCI lo0 ff02::%en0/32 link#4 UmCI en0 ff02::%en6/32 link#6 UmCI en6 ff02::%awdl0/32 link#8 UmCI awdl0 ff02::%utun0/32 fe80::f4d3:8e83:6ac7:4c70%utun0 UmCI utun0 ff02::%utun1/32 fe80::593a:c424:495:3b05%utun1 UmCI utun1
2、设置DNS
指定DNS服务器
配置命令:
macbook$ networksetup -setdnsservers <networkservice> <dns1> [dns2] [...]
示例:
macbook$ sudo networksetup -setdnsservers Wi-Fi 114.114.114.114 114.114.114.115
不指定DNS地址参数时,清空配置DNS服务器:
macbook$ sudo networksetup -setdnsservers Wi-Fi
查看当前配置的DNS服务器
方法一:查看手动指定的DNS服务器地址
命令:
macbook$ networksetup -getdnsservers <networkservice>
注意:此命令只能查看手动指定的DNS服务器地址,无法查看到由DHCP获得的DNS地址!
示例:
macbook$ sudo networksetup -getdnsservers Wi-Fi
方法二: 查看由DHCP配置的DNS地址
命令:
macbook$ ipconfig getpacket interface-name
此命令用以查看从DHCP获得的相关网络配置信息,同时也包含DNS配置信息!
示例:
macbook$ sudo ipconfig getpacket en0 Password: op = BOOTREPLY htype = 1 flags = 0 hlen = 6 hops = 0 xid = 0x1da0b2e6 secs = 0 ciaddr = 0.0.0.0 yiaddr = 192.168.1.101 siaddr = 0.0.0.0 giaddr = 0.0.0.0 chaddr = 48:d7:5:cb:7d:bd sname = file = options: Options count is 7 dhcp_message_type (uint8): ACK 0x5 server_identifier (ip): 192.168.1.1 lease_time (uint32): 0xffffffff subnet_mask (ip): 255.255.255.0 router (ip_mult): {192.168.1.1} domAIn_name_server (ip_mult): {114.114.114.114, 114.114.115.115} end (none):
3、清除DNS缓存
OS X 10.9 (Mavericks):
macbook$ dscacheutil -flushcache; sudo killall -HUP mDNSResponder
OS X 10.10 (Yosemite):
macbook$ sudo discoveryutil udnsflushcaches
Versions 10.10.4+:
macbook$ sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
OS X 10.11 (El Capitan) and OS X 10.12 (Sierra):
macbook$ sudo killall -HUP mDNSResponder
OS X 10.12.4:
macbook$ sudo killall -HUP mDNSResponder; sudo killall mDNSResponderHelper; sudo dscacheutil -flushcache;