最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux知識點小結(jié)

 更新時間:2016年01月05日 10:59:29   投稿:lijiao  
這篇文章主要為大家分享了Linux知識點,幫助大家更加詳細的學習Linux

1 我的Linux需求

這里討論的是我對線上的Linux機器的需求,所以只討論穩(wěn)定發(fā)行版,且是比較保守的版本。比如CentOS 7的xfs不予討論,并不是說xfs不好,而是以目前我的Linux水平需要更新很多xfs的知識,駕馭需要時間。CentOS 7將ifconfig,netstat等原來常用的命令也干掉了。下面我們以CentOS 6作為基礎,談一談我對Linux的基本需求。

1.1 最小化安裝

CentOS有一個minimal版本,相對于標準版去掉了很多Service,比如Network Manger,安裝最小版本以后的網(wǎng)絡配置是需要admin進行全手工配置文件配置的。我個人認為這樣是比較好的,因為可以更好的理解Linux內(nèi)核是如何看待這些配置文件的,那些是內(nèi)核真正需要的,那些是修改以后可以直接改動到內(nèi)核的性能。對于一些必要的監(jiān)控工具,完全可以通過yum install來完成。標準版更加適合平時的練習,作為線上機器,還是最小化安裝,做到能不開的服務就不開,能關掉的端口就關掉,這樣既能將寶貴的硬件資源留下來給應用程序,也能夠做到更加的安全,因為攻擊的入口就是通過網(wǎng)絡。

1.2 足夠安全

除了將能關的端口關掉,能不用的服務關掉以外,安全還需要做到特定的服務只能訪問特定的內(nèi)容。哪怕是root賬戶,不能訪問的文件和文件夾還是不能訪問,更加不能操作。因為極有可能攻擊者獲取到root權(quán)限,這個時候就基本是無所欲為了。開啟SELinux以后,能夠做到在不修改SELinux的情況下,指定的服務只能訪問指定的資源。

1.3 資源按需調(diào)度

我們經(jīng)常會遇到這樣一個問題,假設將磁盤sda掛載到/var目錄,但是由于log太多或者上傳的文件等等其他因素將硬盤吃光了,再創(chuàng)建一塊sdb磁盤就無法掛載到/var目錄了,其實Linux自帶的lvm已經(jīng)解決了這個問題,并且CentOS默認就是用lvm來管理磁盤的。我們需要學會如何格式化一塊硬盤為lvm,然后掛載到對應目錄,在空間被吃光前能夠添加一塊硬盤就自動擴容。

1.4 網(wǎng)絡監(jiān)控

說白了就是在Linux本地利用好iptables,來規(guī)劃服務哪些網(wǎng)絡流量,拋棄哪些網(wǎng)絡流量。以及在進行組網(wǎng)的時候需要用router來進行網(wǎng)關的創(chuàng)建,在遇到網(wǎng)絡問題的時候通過netstat來查看網(wǎng)絡訪問異常。網(wǎng)絡這塊內(nèi)容很多很雜,各種參數(shù),TCP/IP協(xié)議棧等等,但是往往問題還就是出在網(wǎng)絡這塊,所以要給與高度的關注。

2 Linux的理念與基礎

對Linux敬仰如滔滔江水^_^,小談幾點我對Linux的認識。

2.1 Linux的文件系統(tǒng)

Linux將所有的事物都看成文件,這一點人盡皆知。我想說的是,除了傳統(tǒng)的ext文件系統(tǒng),Linux在抽象不同的資源的時候其實有各種不同的文件系統(tǒng),都是從需求和使用出發(fā),怎么方便怎么來,比如proc文件系統(tǒng)就是針對進程的抽象,使得修改對應進程的值就可以直接改變進程的行為。再比如,對于遠程ssh登錄的pts設備,Linux有對應的devpts文件系統(tǒng)。

2.2 Linux的權(quán)限管理

Linux的-rwxrwxrwx權(quán)限管理也可謂人盡皆知,其實Linux自己也意識到了這樣的權(quán)限管理所帶來的一些局限性。首先rwx的權(quán)限管理是基于用戶和組的,并且只是大致的分為owner|group|other這三類,無法再作更加細粒度的劃分。有鑒于此,Linux目前默認是有ACL(Access Control List)管理的,所謂ACL就是能夠提供更加細粒度的用戶和組管理,比如可以明確哪個user可以有什么樣的權(quán)限。如下示例

getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
user:johny:r-x
group::r--
mask::r-x
other::r--

而SELinux提供了不基于用戶與組的權(quán)限管理,SELinux是基于應用程序的,什么樣的應用程序可以使用什么資源,對于這些資源這個應用程序能干嘛,這個就是SELinux的管理方式。

2.3 Linux上的Service

Linux上的Service組織得非常清晰,當然也是傳統(tǒng)所致。/etc/init.d/里面包含了所有的Service啟動腳本,對應的二進制文件在/usr/bin 、 /usr/sbin 、 /usr/local/bin等目錄下,一般而言配置文件在/etc/app_name下,還有一個chkconfig的工具來管理各個runlevel下需要啟動的Service。這樣的約定俗成使得管理員在配置和使用的時候非常方便。Linux標準的Service都會將log記錄到/var/log/messages中,使得系統(tǒng)管理員不需要翻閱各種log,直接在/var/log/messages中就可以找到絕大部分的log來判斷當前系統(tǒng)是否正常。更甚的,syslogd被rsyslogd替換以后,可以將/var/log/messages中的內(nèi)容通過UDP發(fā)送到遠端用專業(yè)的log分析工具進行分析。我們需要學習Linux上Service的這些優(yōu)秀的編程習慣和技巧。

3 磁盤

根據(jù)$1中的需求,主要是創(chuàng)建Linux下的LVM,以及一些基本的磁盤操作。

  • df -lah 查看磁盤的使用情況
  • fdisk -l 查看插入到磁盤驅(qū)動器中的硬盤; sd(a,b,c)(1,2,3),其中a是第一塊磁盤,b是第二塊磁盤,1,2,3表示磁盤上的主分區(qū),最多4個。用fdisk從磁盤創(chuàng)建分區(qū)并且格式化。
  • LVM(logical volume manager),主要就是滿足加硬盤就能直接寫數(shù)據(jù)的功能,而不會出現(xiàn)磁盤滿了,然后掛了。lvm有幾個概念,VG, PV, LVM,將磁盤lvm格式化,創(chuàng)建PV, 創(chuàng)建VG,將創(chuàng)建的PV加入VG,然后在VG中創(chuàng)建lvm,然后就可以動態(tài)增加大小了。注意,將磁盤格式化為lvm,但是lv的格式化需要用ext,然后才能mount上去。參考這篇文章CentOS 6 卷組掛載硬盤教程
  • mount -t type(ext4|nfs) /dev/sdxn /path/dir 來掛載。如果要重啟生效,必須將掛載信息寫入到/etc/fstab
  • 磁盤IO效率(IOPS)需要用vmstat, top等工具來查看。

4 網(wǎng)絡

網(wǎng)絡的坑很多,需要把網(wǎng)絡搞通沒個3,4年很難。下面從網(wǎng)絡的基本配置文件著手,簡單理一下網(wǎng)絡方面的內(nèi)容。網(wǎng)絡最難的方面應該是如何搭建一個合理的高效的局域網(wǎng)或者城域網(wǎng),這個需要有專業(yè)的網(wǎng)絡知識。

4.1 配置文件

/etc/hosts私有IP對應主機名
/etc/resolv.confnameserver DNS的IP
/etc/sysconfig/network其中NETWORKING=要不要有網(wǎng)絡,HOSTNAME=主機名,NETWORKING_IPV6=支持ipv6否
/etc/sysconfig/network-scripts/ifcfg-xxx其中DEVICE=網(wǎng)卡代號,BOOTPROTO=是否使用dhcp,HWADDR,IPADDR,NETMASK,ONBOOT,GATEWAY
4.2 網(wǎng)絡設計到的一些命令

router -n查看路由的命令,特別是要看帶G的,表示gateway,而帶U的表示up。
netstat -anp查看所有啟動的tcp,udp,unix stream的應用程序,以及他們的狀態(tài),具體可以參考TCP/IP,JavaSocket簡單分析一文。
5 安全

5.1 PAM

PAM總體來講只需要簡單了解就行,是一個可插拔的認證模塊。按照我的說法,是開發(fā)Linux的極客們搞出來的可復用的一個組件。舉個例子,現(xiàn)在有一個app,想要驗證當前的登錄用戶是否有權(quán)限操作某個目錄,那么在PAM里面有現(xiàn)成的模塊,app只需要include這個模塊,給出一個配置文件,就可以了。有一個非常好的關于PAM的視頻教程,請看這里

  • PAM是應用程序用來進行身份驗證的。早期的身份驗證和應用程序本身耦合,后來把身份驗證單獨抽出來,通過PAM來進行管理
  • /etc/pam.d/xxx 是能用pam來進行管理的應用程序PAM設置,在安裝應用程序的時候安裝。/etc/security/mmm, /lib/security/pam_mmm是一套。
  • 總體來說PAM是利用Linux系統(tǒng)本身提供的機制,來進行驗證

5.2 SELinux

關于SELinux也有一個非常好的視頻教程,請看這里

  • getenforce來查看SELinux是否被啟用
  • /etc/sysconfig/selinux enforcing啟用SELinux
  • SELinux對“運行程序”配置和檢查其是否有權(quán)限操作“對象”(文件系統(tǒng)),而普通的ACL(rwx)就是根據(jù)文件所屬owner及其組來判斷。SELinux是看bin的type和目錄文件的type是否兼容,來決定bin是否能操作資源

5.3 防火墻

對于iptables也是一知半解,所以下面只是學習時候的一些摘錄。特別一點,要開啟內(nèi)核參數(shù)net.ipv4.ip_forward=1,在/etc/sysctl.conf文件中,用sysctl -p來保存。所謂ip_forward指的是內(nèi)核提供的從一個iface到另外一個iface的IP包轉(zhuǎn)發(fā),比如將IP包從192.168.1.10的eth0轉(zhuǎn)發(fā)到10.0.0.123的eth1上。專業(yè)的防火墻配置是需要專業(yè)技能的。

tcp_wrapper需要libwrap.so的支持,所有凡是ldd出來沒有的bin,都不能用tcp_wrapper
iptables是按照規(guī)則進行短路判斷的,即 滿足條件1->執(zhí)行action1->結(jié)束
iptables-save來更加清晰的查看
先刪掉全部規(guī)則,然后添加,比較簡單。添加的時候,先添加策略,再添加細部規(guī)則。一般來講,我們需要關注的是filter這個表的INPUT與OUTPUT
iptables -A(I) INPUT(OUTPUT,FORWARD) -i(o) iface -p tcp(ump,imp,all) -s (!)source -d dest -j ACCEPT(REJECT,DROP), 還支持的參數(shù) —dport —sport
6 工具

一個好的Linux命令參考網(wǎng)站

6.1 CPU

  • top 特別注意load
  • ps aux和ps -ef 特別注意進程狀態(tài)
  • vmstat 1表示每秒采集一次
  • sar -u 1 查看所有cpu相關的運行時間

6.2 Memory

  • free
  • vmstat 1 注意其中的swap ram block之間的關系
  • sar -r 1 內(nèi)存使用率
  • sar -W 1 查看swap,查詢是否由于內(nèi)存不足產(chǎn)生大量內(nèi)存交換

6.3 IO

  • lsof -i:port 查詢哪個進程占用了這個端口號
  • lsof -u username 用戶打開的文件
  • lsof -p pid 進程打開的文件

雜項

關于安裝好系統(tǒng)之后的運行腳本,這邊有一個參考

#!/bin/bash

flagFile="/root/centos6-init.executed"

precheck(){

  if [[ "$(whoami)" != "root" ]]; then
  echo "please run this script as root ." >&2
  exit 1
  fi

  if [ -f "$flagFile" ]; then
  echo "this script had been executed, please do not execute again!!" >&2
  exit 1
  fi

  echo -e "\033[31m WARNING! THIS SCRIPT WILL \033[0m\n"
  echo -e "\033[31m *1 update the system; \033[0m\n"
  echo -e "\033[31m *2 setup security permissions; \033[0m\n"
  echo -e "\033[31m *3 stop irrelevant services; \033[0m\n"
  echo -e "\033[31m *4 reconfig kernel parameters; \033[0m\n"
  echo -e "\033[31m *5 setup timezone and sync time periodically; \033[0m\n"
  echo -e "\033[31m *6 setup tcp_wrapper and netfilter firewall; \033[0m\n"
  echo -e "\033[31m *7 setup vsftpd; \033[0m\n"
  sleep 5
  
}

yum_update(){
  yum -y update
  #update system at 5:40pm daily
  echo "40 3 * * * root yum -y update && yum clean packages" >> /etc/crontab
}

permission_config(){
  #chattr +i /etc/shadow
  #chattr +i /etc/passwd
}

selinux(){
  sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/sysconfig/selinux
  setenforce 1
}

stop_services(){
  for server in `chkconfig --list |grep 3:on|awk '{print $1}'`
  do
    chkconfig --level 3 $server off
  done
   
  for server in crond network rsyslog sshd iptables
  do
    chkconfig --level 3 $server on
  done
}

limits_config(){
cat >> /etc/security/limits.conf <<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
echo "ulimit -SH 65535" >> /etc/rc.local
}

sysctl_config(){
sed -i 's/net.ipv4.tcp_syncookies.*$/net.ipv4.tcp_syncookies = 1/g' /etc/sysctl.conf
sed -i 's/net.ipv4.ip_forward.*$/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
cat >> /etc/sysctl.conf <<EOF
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
EOF
sysctl -p
}

sshd_config(){
  if [ ! -f "/root/.ssh/id_rsa.pub" ]; then
  ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa
  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
  chmod 600 /root/.ssh/authorized_keys
  fi

  #sed -i '/^#Port/s/#Port 22/Port 65535/g' /etc/ssh/sshd_config
  sed -i '/^#UseDNS/s/#UseDNS no/UseDNS yes/g' /etc/ssh/sshd_config
  #sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
  sed -i 's/#PermitEmptyPasswords yes/PermitEmptyPasswords no/g' /etc/ssh/sshd_config
  sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
  /etc/init.d/sshd restart
}

time_config(){
  #timezone
  echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile

  # Update time
  if [! -f "/usr/sbin/ntpdate"]; then
    yum -y install ntpdate
  fi
  
  /usr/sbin/ntpdate pool.ntp.org
  echo "30 3 * * * root (/usr/sbin/ntpdate pool.ntp.org && /sbin/hwclock -w) &> /dev/null" >> /etc/crontab
  /sbin/service crond restart
}

iptables(){
cat > /etc/sysconfig/iptables << EOF
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT
EOF
/sbin/service iptables restart
source /etc/profile
}

other(){
  # initdefault
  sed -i 's/^id:.*$/id:3:initdefault:/' /etc/inittab
  /sbin/init q
  
  # PS1
  #echo 'PS1="\[\e[32m\][\[\e[35m\]\u\[\e[m\]@\[\e[36m\]\h \[\e[31m\]\w\[\e[32m\]]\[\e[36m\]$\[\e[m\]"' >> /etc/profile
   
  # Wrong password five times locked 180s
  sed -i '4a auth    required   pam_tally2.so deny=5 unlock_time=180' /etc/pam.d/system-auth
}

vsftpd_setup(){
  yum -y install vsftpd
  mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
  touch /etc/vsftpd/chroot_list
  setsebool -P ftp_home_dir=1
cat >> /etc/vsftpd/vsftpd.conf <<EOF
# normal user settings
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
local_max_rate=10000000
# anonymous settings
anonymous_enable=YES
no_anon_password=YES
anon_max_rate=1000000
data_connection_timeout=60
idle_session_timeout=600
# ssl settings
#ssl_enable=YES       
#allow_anon_ssl=NO      
#force_local_data_ssl=YES  
#force_local_logins_ssl=YES 
#ssl_tlsv1=YES        
#ssl_sslv2=NO
#ssl_sslv3=NO
#rsa_cert_file=/etc/vsftpd/vsftpd.pem 
# server settings
max_clients=50
max_per_ip=5
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
#banner_file=/etc/vsftpd/welcome.txt
dual_log_enable=YES
pasv_min_port=65400
pasv_max_port=65410
EOF
  chkconfig --level 3 vsftpd on
  service vsftpd restart
}
 
main(){
  precheck
  
  printf "\033[32m================%40s================\033[0m\n" "updating the system      "
  yum_update

  printf "\033[32m================%40s================\033[0m\n" "re-config permission      "
  permission_config

  printf "\033[32m================%40s================\033[0m\n" "enabling selinux        "
  selinux

  printf "\033[32m================%40s================\033[0m\n" "stopping irrelevant services  "
  stop_services
  
  printf "\033[32m================%40s================\033[0m\n" "/etc/security/limits.config  "
  limits_config
  
  printf "\033[32m================%40s================\033[0m\n" "/etc/sysctl.conf        "
  sysctl_config

  printf "\033[32m================%40s================\033[0m\n" "sshd re-configuring      "
  sshd_config
  
  printf "\033[32m================%40s================\033[0m\n" "configuring time        "
  time_config
  
  printf "\033[32m================%40s================\033[0m\n" "configuring firewall      "
#  iptables
  
  printf "\033[32m================%40s================\033[0m\n" "someother stuff        "
  other

  printf "\033[32m================%40s================\033[0m\n" "done! rebooting        "
  touch "$flagFile"
  sleep 5
  reboot
}

main

以上就是針對linux知識點進行的詳細匯總,希望對大家的學習有所幫助。

相關文章

  • Linux RabbitMQ 集群搭建流程圖解

    Linux RabbitMQ 集群搭建流程圖解

    在介紹RabbitMQ之前實現(xiàn)要介紹一下MQ,MQ是什么?MQ全稱是Message Queue,可以理解為消息隊列的意思,簡單來說就是消息以管道的方式進行傳遞。RabbitMQ是一個實現(xiàn)了AMQP(Advanced Message Queuing Protocol)高級消息隊列協(xié)議的消息隊列服務,用Erlang語言的
    2021-11-11
  • CentOS7環(huán)境中DHCP配置教程

    CentOS7環(huán)境中DHCP配置教程

    大家好,本篇文章主要講的是CentOS7環(huán)境中DHCP配置教程,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-11-11
  • Trash-Cli:Linux上的命令行回收站工具

    Trash-Cli:Linux上的命令行回收站工具

    今天小編就為大家分享一篇關于Linux上的命令行回收站工具,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • linux中把.c的文件編譯成.so文件

    linux中把.c的文件編譯成.so文件

    這篇文章主要介紹了linux中把.c的文件編譯成.so文件的相關資料,本文以編譯mylib.c為例講如何編譯.so文件,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-05-05
  • Linux之常見漏洞修復

    Linux之常見漏洞修復

    這篇文章主要介紹了Linux中的常見漏洞修復,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 淺析在 RHEL8 配置靜態(tài) IP 地址的不同方法

    淺析在 RHEL8 配置靜態(tài) IP 地址的不同方法

    如果一個人在 Linux 服務器上正確配置了靜態(tài)地址,那么他/她就可以通過網(wǎng)絡遠程訪問它。在本文中,我們將演示在 RHEL 8 服務器網(wǎng)卡上配置靜態(tài) IP 地址的不同方法,需要的朋友可以參考下
    2019-09-09
  • Centos7.2 系統(tǒng)上yum安裝lamp環(huán)境

    Centos7.2 系統(tǒng)上yum安裝lamp環(huán)境

    這篇文章主要介紹了centos7.2 系統(tǒng)上yum安裝lamp環(huán)境的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • ubuntu20.04中文輸入法安裝步驟

    ubuntu20.04中文輸入法安裝步驟

    這篇文章主要介紹了ubuntu20.04中文輸入法安裝步驟,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • CentOS使用本地yum源搭建LAMP環(huán)境圖文教程

    CentOS使用本地yum源搭建LAMP環(huán)境圖文教程

    這篇文章主要介紹了CentOS使用本地yum源搭建LAMP環(huán)境,詳細分析了CentOS使用本地yum源搭建LAMP的具體步驟、相關命令及操作注意事項,需要的朋友可以參考下
    2019-06-06
  • php擴展memcached和memcache的安裝配置方法

    php擴展memcached和memcache的安裝配置方法

    這篇文章主要介紹了php擴展memcached和memcache的安裝配置方法,需要的朋友可以參考下
    2014-11-11

最新評論

南江县| 三原县| 娱乐| 鄂尔多斯市| 察雅县| 多伦县| 万年县| 南雄市| 饶阳县| 东乡族自治县| 田东县| 东宁县| 马公市| 桦甸市| 永靖县| 塔河县| 陆良县| 宣汉县| 泾阳县| 株洲县| 沈丘县| 布拖县| 太和县| 中超| 正镶白旗| 北票市| 沿河| 伊宁县| 承德县| 宝山区| 平潭县| 乐陵市| 宁乡县| 诸暨市| 伊春市| 土默特右旗| 建宁县| 阿城市| 高台县| 师宗县| 依安县|