-- 刚安装完系统后,输入法配置 system --》 preferences --》 input method --》 图形配置就可以了(类似windows) rhel6下网络相关的基本配置 网络有关的基本配置命令 # mii-tool eth0 --查看网卡状态,以前的虚拟机里不支持,现在vmware的版本里是支持的 eth0: negotiated 100baseTx-FD flow-control, link ok --代表网卡连接OK # mii-tool eth0 eth0: no link --代表网线和网卡没连 --除了link ok和no link两种之外其它显示就可能是网卡没驱动,或者网卡松了等等 # ethtool eth0 --查看网卡的工作模式等信息 Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full # ethtool -s eth0 speed 10 duplex half autoneg off --改成10M/s的速率,半双工,关闭自动协商 Advertised auto-negotiation: No Speed: 10Mb/s Duplex: Half # scp /soft/rhel-server-6.3-x86_64-dvd.iso 10.1.1.26:/root/Desktop/ --你可以在两种速率的情况下做一个scp的远程拷贝测试,可以明显看到速度的变化 # ethtool -s eth0 speed 100 duplex full autoneg on --再改回来 ifconfig 查看当前的IP,网卡是否开启等信息 ip addr 或ip a 也可以看IP信息 # ifconfig eth0 Link encap:Ethernet HWaddr 10:C3:7B:69:48:B1 inet addr:10.1.1.35 Bcast:10.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::12c3:7bff:fe69:48b1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1375056 errors:0 dropped:0 overruns:0 frame:0 TX packets:2596704 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:95088451 (90.6 MiB) TX bytes:3348164310 (3.1 GiB) Interrupt:30 Base address:0x8000 ping 10.1.1.192 --直接ping一个IP 测试是否能通 ping -c 4 10.1.1.192 --只PING 4个包 # ip neighbor 或 ip n --查看和你机器联系过的IP与MAC地址的对应 ========================================================================= 改服务器IP的方法: 第一种: ifconfig eth0 10.1.1.10 netmaks 255.255.255.0 --这种做法是马上生效,但重启系统后无效了 如果你想IP重启也生效,那么需要配置网络服务的相关配置文件 第二种: vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 --定义设备号 BOOTPROTO=dhcp --定义获取IP的方式为dhcp ONBOOT=yes --定义此网卡设备是否启动 NM_CONTROLLED="no" --改为no,表示不受NetworkManager此服务控制(NetworkManager是rhel6里新加的一个图形界面配置网络的服务,但对于技术人员来讲,不建议使用。以后你会接触到kvm虚拟机或rhcs红帽集群套装都会不支持些服务) DEVICE=eth0 BOOTPROTO=static --定义获取IP的方式为static 静态IP IPADDR=10.1.1.35 --定义静态IP NETMASK=255.255.255.0 --定义子网掩码 GATEWAY=10.1.1.1 --手动定义你的网关,就是route -n命令看到的默认网关 这一句也可以写到/etc/sysconfig/network这个文件下(是全局生效,就是对所有网卡都生效) ONBOOT=yes NM_CONTROLLED="no" dns1=x.x.x.x dns2=x.x.x.x --你也可以在这里配置你的DNS指向,如果不想配置在这也可以,你可以配置到/etc/resolv.conf文件里 # /etc/init.d/NetworkManager stop # chkconfig NetworkManager off # /etc/init.d/network restart --重启网络服务 # chkconfig network on ifconfig eth0:0 10.1.1.36 netmask 255.255.255.0 --在eth0的基础上虚拟出eth0:0的网卡 [root@localhost ~]# ifconfig eth0:1 10.1.1.37 netmask 255.255.255.0 [root@localhost ~]# ifconfig eth0:2 10.1.1.38 netmask 255.255.255.0 手动修改物理地址的方法: 先要ifconfig eth0 down --rhel6不需要down了,可以直接改了 ifconfig eth0 hw ether 00:01:22:AB:EF:CD ifconfig eth0 up vim /etc/sysconfig/network-scripts/ifcfg-eth0:0 --虚拟的网卡重启后没了,想让他永久生效,手动写一个配置文件就可以了 DEVICE=eth0:0 BOOTPRO=static IPADDR=10.1.1.36 NETMASK=255.255.255.0 ONBOOT=yes NM_CONTROLLED="no" [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0-range0 --一次性虚拟多个IP IPADDR_START=10.1.1.1 --虚拟的IP起始值 IPADDR_END=10.1.1.254 --虚拟的IP结束值 NETMASK=255.255.255.0 --子网掩码 CLONENUM_START=10 --指的是eth0:后的数字起始值 关闭网卡的方法 ifconfig eth0 down ifdown eth0 开启网卡的方法 ifconfig eth0 up ifup eth0 --------------------------------------- ssh 远程登录 Secure Shell windows下你可以下载security crt或putty这种图形ssh工具来远程连接你的linux服务器 [root@localhost ~]# ssh 10.1.1.104 --默认以当前用户远程登陆 The authenticity of host '10.1.1.104 (10.1.1.104)' can't be established. RSA key fingerprint is b1:70:27:ac:ad:f6:ab:35:00:5a:b7:ad:ad:e4:43:0a. Are you sure you want to continue connecting (yes/no)? yes --第一次远程登陆会让你输入yes,因为它会加一个RSA值到当前用户家目录下的.ssh/known_hosts文件里,下次再ssh这台机,就不用再输入yes了 10.1.1.104 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA/HQMabL2hR0qKrNxJU34WWLvKjnjT9FFbRYk5EcsZMNAFR+k0sXUT8YjSRNiAQlRfWNRp8Wbxh7XGvQ9YJpzxxkQA9LP+W/O4e+2TMKt3vfDLP0M6SWuykQ+aChpQokXouNGZsHo3Y1xa7ysgvV4CVAl6ItxjdeKkCy2oiArggnIiKYVtFg20Y44SzxH7ycdnLdj09ftIsZZlkC1Bld4x1i5QUmUkzJEgHsLj0rpe4U8gfbrhJw5m02Y6cE655XPpFxuP7VF/L8a8i0+SEKgwO8FfSUngKfn2YjKlgXKstyVJvK+nCKXRT6XNTNE5f5uSUIcEsWrTn+OPKfoClpJew== 一个关于ssh的小错误 [root@localhost ~]# ssh 10.1.1.104 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 7f:7b:7e:55:bf:28:4b:be:34:22:1c:42:39:cc:f8:ff. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:6 RSA host key for 10.1.1.104 has changed and you have requested strict checking. Host key verification failed. --遇到此报错,有可能是因为104的IP被另一台电脑使用,就把/root/.ssh/known_hosts里关于104电脑的RSA KEY信息给删除掉 就可以再加了 ----------------------------------- 你ssh另一台机器可能会卡上几秒钟,才会让你输入密码,解决方法:互相绑定主机名 域名和计算机名(主机名)的区别? 域名为公网的名字,要花钱注册 主机名为内网的名字,随便取(但最好取成FQDN的格式) 域名和主机名可以一样,也可以不一样 hostname --打印出当前主机名 修改主机名三步: hostname li.cluster.com --临时修改当前主机名 vim /etc/sysconfig/network --系统全局的网络配置文件 HOSTNAME=li.cluster.com --永久修改当前主机名 FQDN(full qualified domain name)有些软件是要求主机名为fqdn格式,例如apache vim /etc/hosts 10.1.1.35 li.cluster.com --在这里加上修改过的主机和IP对应 问题:如果我有成千上W的服务器,希望全部绑定到/etc/hosts里,请问有什么解决方法? 1,可以使用DNS替代(当你去用名字访问一台机器如:ping a.b.com),它要把名字转换成IP才能找到你,先找/etc/hosts,再找dns(由/etc/resolv.conf来配置) 2,写脚本 3,使用类似puppet这种工具 ------------------------------------ ssh user1@10.1.1.104 或者 ssh 10.1.1.104 -l user1 --以用户user1远程登录 [root@localhost ~]# ssh 10.1.1.104 date --直接调用104上的命令,但不能调图形 root@10.1.1.104's password: Sat Apr 10 14:37:05 CST 2010 ssh 10.1.1.104 -X firefox --图形调用104机器的firefox ssh 10.1.1.104 -Y --登陆到104的主机后,可以任意调用图形 调图形要注意的是远程服务器要图形支持 scp 远程拷贝 [root@localhost ~]# scp /share/iso/rhel-5.4-server-i386-dvd.iso 10.1.1.104:/root/Desktop/ --把本机的一个ISO文件远程SCP到104的桌面 scp -r /share/iso/ 10.1.1.104:/root/Desktop/ --远程SCP目录时要用到-r参数 scp 10.1.1.104:/root/Desktop/sn.txt /root/Desktop/ --从远端拷到本端 scp -r 10.1.1.104:/root/Desktop/ /root/Desktop/ --拷目录也要加-r参数 scp -r aaa.bb.com:/root/Desktop/ /root/Desktop/ --可以用主机名替代IP,但要写到/etc/hosts里 =============================================================== rhel6下vnc做法很多,我这里介绍两种 1,# vino-preferences 直接使用这个命令,然后图形配置。但它在rhel6下使用也有限制,如果你能上因特网或者DNS的正反向解析,就可以实现多人共享访问。 2,如果没有因特网,我这里用的另一种方法 # vncpasswd --产生你的密码,它会默认保存到/root/.vnc/passwd文件 # x0vncserver --PasswordFile=/root/.vnc/passwd --AlwaysShared=on --AcceptKeyEvents=off --AcceptPointerEvents=off & 在一个终端上使用此命令,注意不要关闭这个终端(因为这个服务是跑在这个终端上的,如果你希望关闭终端这个服务还能继续运行,那么就加一个nohup在前面) # netstat -ntlup |grep :5900 --用此命令查看一下vnc的端口为5900是否已经打开监听 tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN 3281/x0vncserver 在客户端测试之前把iptables和selinux关闭 iptables -F --清除防火墙规则 /etc/init.d/iptables stop --关闭防火墙服务 chkconfig iptables off --开机不会自动启动防火墙 setenforce 0 --修改selinux的模式为警告模式(类似关闭它) vim /etc/selinux/config --修改这个配置文件,把下面的值改为disabled,表示开机不会再启动selinux了 SELINUX=disabled vnc的客户端用法 vncviewer 10.1.1.35 ------------------------------------- 常见端口对应的列表可以查看cat /etc/services netstat -ntlup n 以数字显示 t tcp u udp l listen p program 网络连接一般都是客户端的随机端口(1024-65535)来连接服务器的监听端口(如http为80),然后服务器的监听端口回给客户端的随机端口 # sysctl -a |grep local_port --这是一个本地可分配的端口范围的一个内核参数 net.ipv4.ip_local_port_range = 32768 61000 当客户端去访问服务器时,会以一个随机端口去连接服务器的监听端口 # netstat -nt --查看你服务器上当前的网络连接 tcp 0 0 10.1.1.10:5900 10.1.1.26:43062 ESTABLISHED --这一条表示10.1.1.26的43062端口与10.1.1.10的5900建立了连接,同理在26的机器上也一定会看到这样的一条,只不过26在左,10在右。 # netstat -ntl --查看你服务器上TCP的监听端口 # netstat -ntlup --查看服务器上TCP和UDP的监听,并且会显示是什么program在监听 ============================================================================== 源码包 源码 ---> 源码 +. spec宏文件 (.src.rpm) --》rpm .tar.gz .tar.xz .tar.bz2 大部分软件的官网只提供源码包下载 rpm包 安装方便,但功能被定死,安装路径也被定死,做成rpm包的过程非常复杂 源码包 功能自定义,安装路径也可以自定义,但安装较复杂,时间较长,要求技术水平较高 www.sourceforge.net --这个网站是一个源码的发布平台 fuse-2.7.1.tar.gz -- file system in user space,就是一个文件系统的挂载模块 ntfs-3g_ntfsprogs-2014.2.15.tgz --让linux支持ntfs格式挂载的一个软件包 问题: linux支持ntfs吗? linux内核是支持的,只不过rhel内核没有加上这个功能,因为rhel没有必要去支持ntfs这种文件系统,实际环境里一般来说也不会有这种需求。但学习环境还是可能用到,因为有人要用ntfs格式的移动硬盘与linux拷数据 解决方法: 第一:编译内核 第二:找第三方软件,安装上来支持 一般安装一个源码的步骤 1,最好先看readme或install文件找到它的安装说明 2,/configure --这个命令后可接各种不同的参数,这些参数就代表了你要加哪些功能。今天不讨论其它参数,只讨论一个 --prefix=/path ,指定安装路径 3,make --这个命令的执行时间比较长(以软件大小而异),它就相当于是按照你定义好参数的把这个软件做出来 4,make install --是把做好的软件安装到你指定的目录(这个指定参数也是在./configure里可以去改的 tar xf fuse-2.7.1.tar.gz -C /usr/src/ --这条命令是把这个源码包解压到/usr/src # cd /usr/src/fuse-2.7.1/ # ./configure # make # make install # modprobe fuse --把安装好的模块加载 # lsmod |grep fuse --查看模块是否被加载 fuse 73530 2 # tar xf /soft/ntfs-3g_ntfsprogs-2014.2.15.tgz -C /usr/src/ # cd /usr/src/ntfs-3g_ntfsprogs-2014.2.15/ # ./configure # make # make install # which mount.ntfs-3g --安装完后,有此命令就表示成功了 /sbin/mount.ntfs-3g 用此命令去挂载ntfs文件系统的用法 # mount.ntfs-3g /dev/sdxx /mnt 对ldconfig的讨论 在fuse源码里的readme文件里有这么一句 You may also need to add '/usr/local/lib' to '/etc/ld.so.conf' and/or run ldconfig. 先理解什么是库文件 # ldd /bin/ls --库可以理解成运行程序需要的功能,此命令就是查看ls命令需要使用哪些库,这些库缺一不可 linux-vdso.so.1 => (0x00007fffc79ff000) libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003d12200000) librt.so.1 => /lib64/librt.so.1 (0x0000003d11600000) libcap.so.2 => /lib64/libcap.so.2 (0x0000003d14200000) libacl.so.1 => /lib64/libacl.so.1 (0x0000003511800000) libc.so.6 => /lib64/libc.so.6 (0x0000003d10a00000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003d10600000) /lib64/ld-linux-x86-64.so.2 (0x0000003d10200000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d10e00000) libattr.so.1 => /lib64/libattr.so.1 (0x0000003d1f200000) 我安装fuse这个软件,它的库文件默认会安装到 $PREFIX/lib,所以它会安装到/usr/local/lib. 但如果另一个软件要用到fuse相关的库,那么它能否找到/usr/local/lib下的库文件呢? 默认系统只会找/lib/,/lib64/,/usr/lib/,/usr/lib64这几个目录,所以/usr/local/lib你可以加到ldconfig里,让别人要使用你的库的时候能够找到你的位置 # vim /etc/ld.so.conf.d/fuse.conf --在此子目录里建立一个自定义的名,只要以.conf结尾就可以,加上你的库的目录路径 /usr/local/lib # ldconfig --保存后,使用此命令让它生效 源版包的删除,直接rm -rf 删除它所有的相关文件就行了 ====================================== 题目: 1,我要安装同一个软件的不同版本,请问rpm包能装吗,源码包呢? 2,如果你要安装一个叫abc的源码软件,请问我编译时指定--prefix=/usr/local和--prefix=/usr/local/abc/这两种安装方式各有什么优缺点? 3,开放课后题:自己网上下载各种开源软件安装(常见的网站www.sourceforge.net;www.rpmfind.net;www.pbone.net等等) 要求:安装arp-scan和xlock这个软件 xlock安装方法 # rpm -ivh xlockmore-5.41-1.el6.x86_64.rpm arp-scan安装方法: 因为arp-scan依赖于libpcap-devel,而libpcap-devel又依赖于libpcap;而如果你在rhel6_x86_64上安装,它自带libpcap但没有libpcap-devel 所以 rpm -ivh libpcap-devel-1.4.0-1.20130826git2dbcaa1.el6.x86_64.rpm 然后解压arp-scan ./configure make make install #arp-scan -l --interface eth0 课后扩展:网上查看TCP/ip的状态机制和三次握手,四次挥手的过程和内核优化网络连接