1.Linux中系统参数修改命令sysctl的源码使用讲解
2.Linux: linux的默认安装里面支不支持Telnet及FTP服务?如果我安装后没有这些服务我
Linux中系统参数修改命令sysctl的使用讲解
sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、源码IP碎片去除以及源路由检查等。源码用户只需要编辑/etc/sysctl.conf文件,源码即可手工或自动执行由sysctl控制的源码功能。命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] -a
常用参数的源码sdrsharp 源码意义:
-w 临时改变某个指定参数的值,如
sysctl -w net.ipv4.ip_forward=1
-a 显示所有的源码系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
如果仅仅是源码想临时改变某个系统参数的值,可以用两种方法来实现,源码例如想启用IP路由转发功能:
1) #echo 1 /proc/sys/net/ipv4/ip_forward
2) #sysctl -w net.ipv4.ip_forward=1
以上两种方法都可能立即开启路由功能,但如果系统重启,源码或执行了
# service network restart
命令,源码所设置的源码值即会丢失,如果想永久保留配置,源码可以修改/etc/sysctl.conf文件
将 net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1
常见用法
修改(配置)方法有三种
临时生效2种
复制代码
代码如下:
# echo 1 /proc/sys/net/ipv4/ip_forward // 开启路由功能# sysctl -w net.ipv4.ip_forward=1 // 用此选项来改变一个sysctl设置
如果系统重启,源码或执行service network restart命令,源码开发源码权限所设置的值即会丢失
/proc目录下的所有内容都是临时性的, 所以重启动系统后任何修改都会丢失。
永久生效1种
复制代码
代码如下:
# vi /etc/sysctl.conf修改net.ipv4.ip_forward=0的值为1 // 打开数据包的转发功能
复制代码
代码如下:
# sysctl -p /etc/sysctl.conf // 重新载入/etc/sysctl.conf文件,如-p后未指定路径,则载入/etc/sysctl.conf指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。
sysctl 变量的设置通常是字符串、数字或者布尔型。会员网络验证源码 (布尔型用 1 来表示'yes',用 0 来表示'no')。
复制代码
代码如下:
[root@Firewall sys]# sysctl -a //查看所有参数[root@Firewall sys]# sysctl net.core.wmem_max //查看指定的参数
net.core.wmem_max =
[root@Firewall sys]# sysctl net.core.wmem_max= //修改指定的参数
net.core.wmem_max =
实例
sysctl -a所看到的参数全部来自/proc/sys/目录下的文件内容,可以用grep加sort加ll的方法来查看与对应
复制代码
代码如下:
[root@Firewall sys]# pwd/proc/sys
[root@Firewall sys]# ll
total 0
dr-xr-xr-x 0 root root 0 Apr : crypto
dr-xr-xr-x 0 root root 0 May : debug
dr-xr-xr-x 0 root root 0 Apr : dev
dr-xr-xr-x 0 root root 0 Apr : fs
dr-xr-xr-x 0 root root 0 Apr : kernel
dr-xr-xr-x 0 root root 0 Apr : net
dr-xr-xr-x 0 root root 0 May : sunrpc
dr-xr-xr-x 0 root root 0 May : vm
复制代码
代码如下:
[root@Firewall netfilter]# pwd/proc/sys/net/netfilter
[root@Firewall netfilter]# sysctl -a|grep net.net|sort
net.netfilter.nf_conntrack_acct = 1
net.netfilter.nf_conntrack_buckets =
net.netfilter.nf_conntrack_checksum = 1
net.netfilter.nf_conntrack_count =
net.netfilter.nf_conntrack_expect_max =
net.netfilter.nf_conntrack_generic_timeout =
net.netfilter.nf_conntrack_icmp_timeout =
net.netfilter.nf_conntrack_log_invalid = 0
net.netfilter.nf_conntrack_max =
net.netfilter.nf_conntrack_tcp_be_liberal = 0
net.netfilter.nf_conntrack_tcp_loose = 1
net.netfilter.nf_conntrack_tcp_max_retrans = 3
net.netfilter.nf_conntrack_tcp_timeout_close =
net.netfilter.nf_conntrack_tcp_timeout_close_wait =
net.netfilter.nf_conntrack_tcp_timeout_established =
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =
net.netfilter.nf_conntrack_tcp_timeout_last_ack =
net.netfilter.nf_conntrack_tcp_timeout_max_retrans =
net.netfilter.nf_conntrack_tcp_timeout_syn_recv =
net.netfilter.nf_conntrack_tcp_timeout_syn_sent =
net.netfilter.nf_conntrack_tcp_timeout_time_wait =
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged =
net.netfilter.nf_conntrack_udp_timeout =
net.netfilter.nf_conntrack_udp_timeout_stream =
复制代码
代码如下:
[root@Firewall netfilter]# lltotal 0
-rw-r--r-- 1 root root 0 May : nf_conntrack_acct
-r--r--r-- 1 root root 0 May : nf_conntrack_buckets
-rw-r--r-- 1 root root 0 May : nf_conntrack_checksum
-r--r--r-- 1 root root 0 May : nf_conntrack_count
-rw-r--r-- 1 root root 0 May : nf_conntrack_expect_max
-rw-r--r-- 1 root root 0 May : nf_conntrack_generic_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_icmp_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_log_invalid
-rw-r--r-- 1 root root 0 May : nf_conntrack_max
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_be_liberal
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_loose
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_max_retrans
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_close
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_close_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_established
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_fin_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_last_ack
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_max_retrans
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_syn_recv
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_syn_sent
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_time_wait
-rw-r--r-- 1 root root 0 May : nf_conntrack_tcp_timeout_unacknowledged
-rw-r--r-- 1 root root 0 May : nf_conntrack_udp_timeout
-rw-r--r-- 1 root root 0 May : nf_conntrack_udp_timeout_stream
复制代码
代码如下:
[root@Firewall core]# sysctl -a|grep net.core|sortnet.core.dev_weight =
net.core.message_burst =
net.core.message_cost = 5
net.core.netdev_budget =
net.core.netdev_max_backlog =
net.core.optmem_max =
net.core.rmem_default =
net.core.rmem_max =
net.core.somaxconn =
net.core.warnings = 1
net.core.wmem_default =
net.core.wmem_max =
net.core.xfrm_acq_expires =
net.core.xfrm_aevent_etime =
net.core.xfrm_aevent_rseqth = 2
net.core.xfrm_larval_drop = 1
复制代码
代码如下:
[root@Firewall core]# lltotal 0
-rw-r--r-- 1 root root 0 May : dev_weight
-rw-r--r-- 1 root root 0 May : message_burst
-rw-r--r-- 1 root root 0 May : message_cost
-rw-r--r-- 1 root root 0 May : netdev_budget
-rw-r--r-- 1 root root 0 May : netdev_max_backlog
-rw-r--r-- 1 root root 0 May : optmem_max
-rw-r--r-- 1 root root 0 May : rmem_default
-rw-r--r-- 1 root root 0 May : rmem_max
-rw-r--r-- 1 root root 0 Apr : somaxconn
-rw-r--r-- 1 root root 0 May : warnings
-rw-r--r-- 1 root root 0 May : wmem_default
-rw-r--r-- 1 root root 0 May : wmem_max
-rw-r--r-- 1 root root 0 May : xfrm_acq_expires
-rw-r--r-- 1 root root 0 May : xfrm_aevent_etime
-rw-r--r-- 1 root root 0 May : xfrm_aevent_rseqth
-rw-r--r-- 1 root root 0 May : xfrm_larval_drop
Linux: linux的默认安装里面支不支持Telnet及FTP服务?如果我安装后没有这些服务我
1.基础知识
linux提供服务是由运行在后台的守护程序(daemon)来执行的。
守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。在C/S模式中,SEO秒收录源码如果客户提请了1个连接,守护进程就创建(fork)子
进程来响应这个连接,而父进程继续监听其他服务的请求。
但是,对于系统所提供的每1个服务,如果都必须运行1个监听某个端口连接发生的守护程序,那么通常意味着系统资源的易铺商城源码浪费。为此,引入“
扩展的网络守护进程服务程序”xinetd(xinetd internet daemon)。telnet服务也是由xinetd守护的。
2.检测telnet、telnet-server的rpm包是否安装
OS:RedHat9
[root@localhost root]#rpm -qa telnet
telnet-0.-
//telnet*.rpm是默认安装的//
[root@localhost root]#rpm -qa telnet-server
空
//telnet*.rpm是默认没有安装的//
3.安装telnet-server
第3张盘上有telnet-server-0.-.i.rpm
[root@localhost root]#rpm -ivh telnet-server*.i.rpm
4.修改telnet服务配置文件
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
将disable=yes行前加#,或者改为disable=no
PS:
安装telnet-server后,系统才有文件/usr/sbin/in.telnetd
5.重新启动xinetd守护进程
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd
[root@localhost root]#service xinetd restart
或
[root@localhost root]#/etc/init.d/xinetd restart
6.关闭系统的防火墙
linux系统默认的防火墙是“high”
命令行界面CLI:
[root@localhost root]# setup
选择:“firewall configuration”
选择:security level--“no firewall”
7.测试
telnet IP
QUOTE:
Red Hat Linux release 9 (Shrike)
Kernel 2.4.-8 on an i
login:
出现,就OK了!
8.telnet默认开机启动
1)。命令ntsysv
找到telnet,用空格键激活(*)服务
2)。命令chkconfig
chkconfig --add telnet
chkconfig telnet on
3)。图形用户界面GUI
redhat-conhat-config-services
或
“主菜单”--“系统设置”--“服务器设置”--“服务”
从第 6、7、8 步来看,你的 OS 是 RedHat,那么,你第 3 步就是多余的了
其实很简单
1、找到发行版光盘上的 telnet-server-xxx.rpm,安装好
2、ntsysv,把 telnet 和 xinted 选上,这样可以保证系统下次启动自动开启服务
3、service xinted start,来手动启动 telnet 服务(前提是 ntsysv 里面选择了 telnet)