2015年2月

最近,我的一位朋友问我该如何禁止IPv6。在搜索了一番之后,我找到了下面的方案。下面就是在我的CentOS 7 迷你服务器禁止IPv6的方法。

你可以用两个方法做到这个。

方法 1

编辑文件/etc/sysctl.conf

vi /etc/sysctl.conf

添加下面的行:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

如果你想要为特定的网卡禁止IPv6,比如,对于enp0s3,添加下面的行。

net.ipv6.conf.enp0s3.disable_ipv6 = 1

保存并退出文件。

执行下面的命令来使设置生效。

sysctl -p

方法 2

要在运行的系统中禁止IPv6,依次输入下面的命令:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

或者,

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

就是这样。现在IPv6已经禁止了。

我在禁止IPv6后遇到问题怎么办

你可能在禁止IPv6后遇到一些问题

问题1:

如果你在禁止IPv6后SSH遇到问题,按照下面的做。

编辑 /etc/ssh/sshd\_config 文件

vi /etc/ssh/sshd\_config

找到下面的行:

#AddressFamily any

把它改成:

AddressFamily inet

或者,在这行的前面去掉注释(#)

#ListenAddress 0.0.0.0

接着重启ssh来使改变生效。

systemctl restart sshd

问题2:

如果你在禁止Ipv6后启动postfix遇到问题,编辑/etc/postfix/main.cf

vi /etc/postfix/main.cf

注释掉配置中的localhost部分,并且使用ipv4回环。

#inet_interfaces = localhost
inet_interfaces = 127.0.0.1

就是这样,干杯!


via: http://www.unixmen.com/disable-ipv6-centos-7/

作者:SK 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

声明:

在安装和使用Telnet之前,需要记住以下几点。

  • 在公网(WAN)中使用Telnet是非常不好的想法。它会以明文的格式传输登入数据。每个人都可以看到明文。
  • 如果你还是需要Telnet,强烈建议你只在局域网内部使用。
  • 你可以使用SSH作为替代方法。但是确保不要用root用户登录。

Telnet是什么?

Telnet 是用于通过TCP/IP网络远程登录计算机的协议。一旦与远程计算机建立了连接,它就会成为一个虚拟终端且允许你与远程计算机通信。

在本篇教程中,我们会展示如何安装Telnet并且如何通过Telnet访问远程系统。

安装

打开终端并输入下面的命令来安装telnet:

yum install telnet telnet-server -y

现在telnet已经安装在你的服务器上了。接下来编辑文件/etc/xinetd.d/telnet

vi /etc/xinetd.d/telnet

设置 disable = no:

# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = no
}

保存并退出文件。记住我们不必在CentOS 7做这步。

接下来使用下面的命令重启telnet服务:

在CentOS 6.x 系统中:

service xinetd start

让这个服务在每次重启时都会启动:

在CentOS 6上:

chkconfig telnet on
chkconfig xinetd on

在CentOS 7上:

systemctl start telnet.socket
systemctl enable telnet.socket

让telnet的默认端口23可以通过防火墙和路由器。要让telnet端口可以通过防火墙,在CentOS 6.x系统中编辑下面的文件:

vi /etc/sysconfig/iptables

加入如下行“-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT”:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 23 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

保存并退出文件。重启iptables服务:

service iptables restart

在CentOS 7中,运行下面的命令让telnet服务可以通过防火墙。

firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload

就是这样。现在telnet服务就可以使用了。

创建用户

创建一个测试用户,比如用户名是“sk”,密码是“centos“:

useradd sk
passwd sk

客户端配置

安装telnet包:

yum install telnet

在基于DEB的系统中:

sudo apt-get install telnet

现在,打开终端,尝试访问你的服务器(远程主机)。

如果你的客户端是Linux系统,打开终端并输入下面的命令来连接到telnet服务器上。

telnet 192.168.1.150

输入服务器上已经创建的用户名和密码:

示例输出:

Trying 192.168.1.150...
Connected to 192.168.1.150.
Escape character is '^]'.

Kernel 3.10.0-123.13.2.el7.x86_64 on an x86_64
server1 login: sk
Password: 
[sk@server1 ~]$

如你所见,已经成功从本地访问远程主机了。

如果你的系统是windows,进入开始 -> 运行 -> 命令提示符

在命令提示符中,输入命令:

telnet 192.168.1.150

192.168.1.150是远程主机IP地址。

现在你就可以连接到你的服务器上了。

就是这样。

干杯!


via: http://www.unixmen.com/installing-telnet-centosrhelscientific-linux-6-7/

作者:SK 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具。 apt-get的GUI版本是Synaptic包管理器。本篇中我们会展示apt-get和apt-cache命令的15个不同例子。

示例:1 列出所有可用包

linuxtechi@localhost:~$ apt-cache pkgnames
account-plugin-yahoojp
ceph-fuse
dvd+rw-tools
e3
gnome-commander-data
grub-gfxpayload-lists
gweled
.......................................

示例:2 用关键字搜索包

这个命令在你不确定包名时很有用,只要在apt-cache(LCTT 译注:这里原文是apt-get,应为笔误)后面输入与包相关的关键字即可。

linuxtechi@localhost:~$ apt-cache search "web server"
apache2 - Apache HTTP Server
apache2-bin - Apache HTTP Server (binary files and modules)
apache2-data - Apache HTTP Server (common files)
apache2-dbg - Apache debugging symbols
apache2-dev - Apache HTTP Server (development headers)
apache2-doc - Apache HTTP Server (on-site documentation)
apache2-utils - Apache HTTP Server (utility programs for web servers)
......................................................................

注意: 如果你安装了“apt-file”包,我们就可以像下面那样用配置文件搜索包。

linuxtechi@localhost:~$ apt-file search nagios.cfg
ganglia-nagios-bridge: /usr/share/doc/ganglia-nagios-bridge/nagios.cfg
nagios3-common: /etc/nagios3/nagios.cfg
nagios3-common: /usr/share/doc/nagios3-common/examples/nagios.cfg.gz
pnp4nagios-bin: /etc/pnp4nagios/nagios.cfg
pnp4nagios-bin: /usr/share/doc/pnp4nagios/examples/nagios.cfg

示例:3 显示特定包的基本信息

linuxtechi@localhost:~$ apt-cache show postfix
Package: postfix
Priority: optional
Section: mail
Installed-Size: 3524
Maintainer: LaMont Jones <[email protected]>
Architecture: amd64
Version: 2.11.1-1
Replaces: mail-transport-agent
Provides: default-mta, mail-transport-agent
.....................................................

示例:4 列出包的依赖

linuxtechi@localhost:~$ apt-cache depends postfix
postfix
 Depends: libc6
 Depends: libdb5.3
 Depends: libsasl2-2
 Depends: libsqlite3-0
 Depends: libssl1.0.0
 |Depends: debconf
 Depends: <debconf-2.0>
 cdebconf
 debconf
 Depends: netbase
 Depends: adduser
 Depends: dpkg
............................................

示例:5 使用apt-cache显示缓存统计

linuxtechi@localhost:~$ apt-cache stats 
Total package names: 60877 (1,218 k)
Total package structures: 102824 (5,758 k)
 Normal packages: 71285
 Pure virtual packages: 1102
 Single virtual packages: 9151
 Mixed virtual packages: 1827
 Missing: 19459
Total distinct versions: 74913 (5,394 k)
Total distinct descriptions: 93792 (2,251 k)
Total dependencies: 573443 (16.1 M)
Total ver/file relations: 78007 (1,872 k)
Total Desc/File relations: 93792 (2,251 k)
Total Provides mappings: 16583 (332 k)
Total globbed strings: 171 (2,263 )
Total dependency version space: 2,665 k
Total slack space: 37.3 k
Total space accounted for: 29.5 M

示例:6 使用 “apt-get update” 更新仓库

使用命令“apt-get update”, 我们可以重新从源仓库中同步文件索引。包的索引从“/etc/apt/sources.list”中检索。

linuxtechi@localhost:~$ sudo apt-get update
 Ign http://extras.ubuntu.com utopic InRelease
 Hit http://extras.ubuntu.com utopic Release.gpg
 Hit http://extras.ubuntu.com utopic Release
 Hit http://extras.ubuntu.com utopic/main Sources
 Hit http://extras.ubuntu.com utopic/main amd64 Packages
 Hit http://extras.ubuntu.com utopic/main i386 Packages
 Ign http://in.archive.ubuntu.com utopic InRelease
 Ign http://in.archive.ubuntu.com utopic-updates InRelease
 Ign http://in.archive.ubuntu.com utopic-backports InRelease
 ................................................................

示例:7 使用apt-get安装包

linuxtechi@localhost:~$ sudo apt-get install icinga

上面的命令会安装叫“icinga”的包。

示例:8 升级所有已安装的包

linuxtechi@localhost:~$ sudo apt-get upgrade

示例:9 更新特定的包

在apt-get命令中的“install”选项后面接上“-only-upgrade”用来更新一个特定的包,如下所示:

linuxtechi@localhost:~$ sudo apt-get install filezilla --only-upgrade

示例:10 使用apt-get卸载包

linuxtechi@localhost:~$ sudo apt-get remove skype

上面的命令只会删除skype包,如果你想要删除它的配置文件,在apt-get命令中使用“purge”选项。如下所示:

linuxtechi@localhost:~$ sudo apt-get purge skype

我们可以结合使用上面的两个命令:

linuxtechi@localhost:~$ sudo apt-get remove --purge skype

示例:11 在当前的目录中下载包

linuxtechi@localhost:~$ sudo apt-get download icinga
Get:1 http://in.archive.ubuntu.com/ubuntu/ utopic/universe icinga amd64 1.11.6-1build1 [1,474 B]
Fetched 1,474 B in 1s (1,363 B/s)

上面的目录会把icinga包下载到你的当前工作目录。

示例:12 清理本地包占用的磁盘空间

linuxtechi@localhost:~$ sudo apt-get clean

上面的命令会清空apt-get所下载的包占用的磁盘空间。

我们也可以使用“autoclean”选项来代替“clean”,两者之间主要的区别是autoclean清理不再使用且没用的下载。

linuxtechi@localhost:~$ sudo apt-get autoclean
Reading package lists... Done
Building dependency tree
Reading state information... Done

示例:13 使用“autoremove”删除包

当在apt-get命令中使用“autoremove”时,它会删除为了满足依赖而安装且现在没用的包。

linuxtechi@localhost:~$ sudo apt-get autoremove icinga

示例:14 显示包的更新日志

linuxtechi@localhost:~$ sudo apt-get changelog apache2
Get:1 Changelog for apache2 (http://changelogs.ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.4.10-1ubuntu1/changelog) [195 kB]
Fetched 195 kB in 3s (60.9 kB/s)

上面的命令会下载apache2的更新日志,并在你屏幕上分页显示。

示例:15 使用 “check” 选项显示损坏的依赖关系

linuxtechi@localhost:~$ sudo apt-get check
Reading package lists... Done
Building dependency tree
Reading state information... Done

via: http://www.linuxtechi.com/ubuntu-apt-get-apt-cache-commands-examples/

作者:Pradeep Kumar 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

今天我们将会在Ubuntu Server 14.04 LTS (Trusty)上安装一个博客平台Ghost。

Ghost是一款设计优美的发布平台,很容易使用且对任何人都免费。它是免费的开源软件(FOSS),它的源码在Github上。截至2015年1月(LCTT 译注:原文为2014,应为2015),它的界面很简单还有分析面板。编辑使用的是很便利的分屏显示。

因此有了这篇步骤明确的在Ubuntu Server上安装Ghost的教程:

1. 升级Ubuntu

第一步是运行Ubuntu软件升级并安装一系列需要的额外包。

sudo apt-get update
sudo apt-get upgrade -y
sudo aptitude install -y build-essential zip vim wget

2. 下载并安装 Node.js 源码

wget http://nodejs.org/dist/node-latest.tar.gz
tar -xzf node-latest.tar.gz
cd node-v*

现在,我们使用下面的命令安装Node.js:

./configure
make
sudo make install

3. 下载并安装Ghost

sudo mkdir -p /var/www/
cd /var/www/
sudo wget https://ghost.org/zip/ghost-latest.zip
sudo unzip -d ghost ghost-latest.zip
cd ghost/
sudo npm install --production

4. 配置Ghost

sudo nano config.example.js

在“Production”字段,将:

host: '127.0.0.1',

修改成

host: '0.0.0.0',

创建Ghost用户

sudo adduser --shell /bin/bash --gecos 'Ghost application' ghost
sudo chown -R ghost:ghost /var/www/ghost/

现在启动Ghost,你需要以“ghost”用户登录。

su - ghost
cd /var/www/ghost/

现在,你已经以“ghost”用户登录,并可启动Ghost:

npm start --production

via: http://linoxide.com/ubuntu-how-to/install-ghost-ubuntu-server-14-04/

作者:Arun Pyasi 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

今天,我们将向你展示如何在你的 Ubuntu 个人电脑或 Ubuntu 服务器中,直接通过 Ubuntu 官方软件仓库来配置本地软件仓库。在你的电脑中创建一个本地软件仓库有着许多的好处。假如你有许多电脑需要安装软件 、安全升级和修复补丁,那么配置一个本地软件仓库是一个做这些事情的高效方法。因为,所有需要安装的软件包都可以通过快速的局域网连接从你的本地服务器中下载,这样可以节省你的网络带宽,降低互联网接入的年度开支 ...

你可以使用多种工具在你的本地个人电脑或服务器中配置一个 Ubuntu 的本地软件仓库,但在本教程中,我们将为你介绍 APT-Mirror。这里,我们将把默认的镜像包镜像到我们本地的服务器或个人电脑中,并且在你的本地或外置硬盘中,我们至少需要 120 GB 或更多的可用空间才行。 我们可以通过配置一个 HTTPFTP 服务器来与本地系统客户端共享这个软件仓库。

我们需要安装 Apache 网络服务器和 APT-Mirror 来使得我们的工作得以开始。下面是配置一个可工作的本地软件仓库的步骤:

1. 安装需要的软件包

我们需要从 Ubuntu 的公共软件包仓库中取得所有的软件包,然后在我们本地的 Ubuntu 服务器硬盘中保存它们。

首先我们安装一个Web 服务器来承载我们的本地软件仓库。这里我们将安装 Apache Web 服务器,但你可以安装任何你中意的 Web 服务器。对于 http 协议,Web 服务器是必须的。假如你需要配置 ftp 协议 及 rsync 协议,你还可以再分别额外安装 FTP 服务器,如 proftpd, vsftpd 等等 和 Rsync 。

$ sudo apt-get install apache2

然后我们需要安装 apt-mirror:

$ sudo apt-get install apt-mirror

apt-mirror-installation

注: 正如我先前提到的,我们需要至少 120 GB 的可用空间来使得所有的软件包被镜像或下载。

2. 配置 APT-Mirror

现在,在你的硬盘上创建一个目录来保存所有的软件包。例如,我们创建一个名为 /linoxide的目录,我们将在这个目录中保存所有的软件包:

 $ sudo mkdir /linoxide

现在,打开文件 /etc/apt/mirror.list :

 $ sudo nano /etc/apt/mirror.list

复制下面的命令行配置到 mirror.list文件中并按照你的需求进行修改:

############# config ##################
#
set base_path    /linoxide
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse

clean http://archive.ubuntu.com/ubuntu

注: 你可以将上面的官方镜像服务器网址更改为离你最近的服务器的网址,可以通过访问 Ubuntu Mirror Server来找到这些服务器地址。假如你并不太在意镜像完成的时间,你可以沿用默认的官方镜像服务器网址。

这里,我们将要镜像最新和最大的 Ubuntu LTS 发行版 --- 即 Ubuntu 14.04 LTS (Trusty Tahr) --- 的软件包仓库,所以在上面的配置中发行版本号为 trusty 。假如我们需要镜像 Saucy 或其他的 Ubuntu 发行版本,请修改上面的 trusy 为相应的代号。

现在,我们必须运行 apt-mirror 来下载或镜像官方仓库中的所有软件包。

sudo apt-mirror

从 Ubuntu 服务器中下载所有的软件包所花费的时间取决于你和镜像服务器之间的网络连接速率和性能。这里我中断了下载,因为我已经下载好了 ...

downloading-packages

3.配置网络服务器

为了使得其他的电脑能够访问这个软件仓库,你需要一个Web服务器。你也可以通过 ftp 来完成这件事,但我选择使用一个Web服务器因为在上面的步骤 1 中我提及到使用Web服务器。因此,我们现在要对 Apache 服务器进行配置:

我们将为我们本地的软件仓库目录 建立一个到 Apache 托管目录 --- 即 /var/www/ubuntu --- 的符号链接。

$ sudo ln -s /linoxide /var/www/ubuntu
$ sudo service apache2 start

上面的命令将允许我们从本地主机(localhost) --- 即 http://127.0.0.1(默认情况下)) --- 浏览我们的镜像软件仓库。

4. 配置客户端

最后,我们需要在其他的电脑中添加软件源,来使得它们可以从我们的电脑中取得软件包或软件仓库。为达到此目的,我们需要编辑 /etc/apt/sources.list 文件并添加下面的命令:

$ sudo nano /etc/apt/sources.list

添加下面的一行到/etc/apt/sources.list中并保存。

deb http://192.168.0.100/ubuntu/ trusty main restricted universe

注: 这里的 192.168.0.100 是我们的服务器电脑的局域网 IP 地址,你需要替换为你的服务器电脑的局域网 IP 地址

$ sudo apt-get update

最终,我们完成了任务。现在,你可以使用sudo apt-get install packagename 命令来从你的本地 Ubuntu 软件仓库中安装所需的软件包,这将会是高速的且消耗很少的带宽。


via: http://linoxide.com/ubuntu-how-to/setup-local-repository-ubuntu/

作者:Arun Pyasi 译者:FSSlc 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Red Hat Enterprise Linux 7CentOS 7的一个新特性是默认的网络服务由NetworkManager提供,这是一个动态的网络控制和配置守护进程,它在网络设备和连接可用时保持链接正常,同时也提供了典型的ifcfg类型的配置文件。NetworkManager可以用于下面这些连接:Ethernet、 VLANs、桥接、Bonds、Teams、 Wi-Fi、 移动宽带 (比如 3G)和IP-over-InfiniBand(IPoIB)。

NetworkManager可以由命令行工具nmcli控制。

nmcli的通常用法

nmcli的通常语法是:

# nmcli [ OPTIONS ] OBJECT { COMMAND | help }

一件很酷的事情是你可以使用tab键来补全操作,这样你在何时忘记了语法你都可以按下tab来看到可用的选项了。

nmcli tab

nmcli通常用法的一些例子:

# nmcli general status

会显示NetworkManager的整体状态。

# nmcli connection show

会显示所有的连接

# nmcli connection show -a

仅显示活跃的连接

# nmcli device status

显示NetworkManager识别的设备列表和它们当前的状态。

nmcli general

启动/停止网络设备

你可以使用nmcli从命令行启动或者停止网络设备,这等同于ifconfig中的up和down。

停止网络设备使用下面的语法:

# nmcli device disconnect eno16777736

要启动它使用下面的语法:

# nmcli device connect eno16777736

添加一个使用静态IP的以太网连接

要用静态IP添加一个以太网连接可以使用下面的命令:

# nmcli connection add type ethernet con-name NAME_OF_CONNECTION ifname INTERFACE-NAME ip4 IP_ADDRESS gw4 GW_ADDRESS

将NAMEOFCONNECTION替换成新的连接名(LCTT 译注:这个名字以后可以用来对其操作,可以使用任何简单明了的名称),INTERFACE-NAME 替换成你的接口名,IPADDRESS替换成你要的IP地址,GWADDRESS替换成你使用的网关地址(如果你并不使用网关,你可以忽略这部分)。

# nmcli connection add type ethernet con-name NEW_STATIC ifname eno16777736 ip4 192.168.1.141 gw4 192.168.1.1

要设置这个连接所使用的DNS服务器使用下面的命令:

# nmcli connection modify NEW_STATIC ipv4.dns "8.8.8.8 8.8.4.4"

要启用新的以太网连接,使用下面的命令:

# nmcli connection up NEW_STATIC ifname eno16777736

要查看新配置连接的详细信息,使用下面的命令:

# nmcli -p connection show NEW_STATIC

nmcli add static

添加一个使用DHCP的连接

如果你想要添加一个使用DHCP来配置接口IP地址、网关地址和dns服务器地址的新的连接,你要做的就是忽略上述命令中的ip/gw部分,NetworkManager会自动使用DHCP来获取配置细节。

比如,要创建一个新的叫NEW\_DHCP的DHCP连接,在设备eno16777736上你可以使用下面的命令:

# nmcli connection add type ethernet con-name NEW_DHCP ifname eno16777736

via: http://linoxide.com/linux-command/nmcli-tool-red-hat-centos-7/

作者:Adrian Dinu 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出