在做项目时由于公司局域网采用自动获取IP的方式,导到每次服务器重启主机IP都会变化。为了解决这个问题,我参考了http://blog.sina.com.cn/s/blog_537977e50100qhb5.html的文章然后根据自己的情况设置静态IP解决了这个问题,处理方式如下: 1.修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址 BROADCAST=192.168.0.255 #对应的子网广播地址 HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址 IPADDR=12.168.0.33 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址 NETMASK=255.255.255.0 #网卡对应的网络掩码 NETWORK=192.168.0.0 #网卡对应的网络地址 2.修改网关配置 编辑:vi /etc/sysconfig/network 修改后如下: NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应) GATEWAY=192.168.0.1(设置本机连接的网关的IP地址。) 我在修改这里打开编辑时前三项已经默认有了所以只增加了GATEWAY 3.修改DNS 配置 编辑:vi /etc/resolv.conf 修改后如下: nameserver 即是DNS服务器IP地址,第一个是首选,第二个是备用。 4.重启网络服务 执行命令: service network restart 或 /etc/init.d/network restart 5.关闭防火墙 /etc/init.d/iptables stop ===================================================================== 1.配置IP #setup 选择 NetWork configuration 选择 Device configuration 选择 eth0 Use DHCP [*] 改 为 [ ] 用空格键将*去除 Static IP 输入 192.168.1.112 Netmask输入 255.255.255.0 Default gateway IP 输入 192.168.1.1 Primary DNS Server 输入 192.168.1.1 2.改SSH端口 vim /etc/ssh/sshd_config #Port 22 去#注释 改 22 为 2200(2000以上) 3.重启SSH /etc/init.d/sshd restart 4.重启网络 service network restart 或 /etc/init.d/network restart 5.查看端口 netstat -lnp|more 6.关防火墙 service iptables stop =============================================================================== 环境: 系统硬件:vmware vsphere (cpu:2*4核,内存2G) 系统版本:Centos-6.5-x86_64 路由器网关:192.168.1.1 步骤: 1.查看网络MAC地址 [root@centos ~]# cat /etc/udev/rules.d/70-persistent-net.rules 显示如下信息 # PCI device 0x15ad:0x07b0 (vmxnet3) SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:50:56:94:04:3c",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0" # PCI device 0x15ad:0x07b0 (vmxnet3) SUBSYSTEM=="net",ATTR{address}=="00:50:56:94:53:24",NAME="eth1" eth0:对应第一张网卡,eth1:对就第二张网卡。当前使用eth0连接路由器,eth1保留(服务器一般用来,连接其它主机) 2.修改主机名称 [root@centos ~]# vim /etc/sysconfig/network 打开文件,修改以下内容并保存 NETWORKING=yes #使用网络 HOSTNAME=centos #设置主机名称 3.修改网卡 [root@centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 打开文件,修改以下内容并保存 DEVICE=eth0 #对应第一张网卡 TYPE=Ethernet ONBOOT=yes #是否启动时运行 NM_CONTROLLED=yes BOOTPROTO=static #使用静态IP,而不是由DHCP分配IP DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" #名称 HWADDR=00:50:56:94:04:3C #必须对应etho是的MAC地址(/etc/udev/rules.d/70-persistent-net.rules) PEERDNS=yes PEERROUTES=yes IPADDR=192.168.1.40 #指定本机IP地址 NETMASK=255.255.255.0 #指定子网掩码 GATEWAY=192.168.1.1 #指定网关 4.修改DNS [root@centos ~]# vim /etc/resolv.conf 打开文件,修改以下内容并保存 nameserver 8.8.8.8 #GOOGLE的DNS服务器 nameserver 61.144.56.100 #指定当前城市最近的DNS服务器(各城市不一样,上网搜索) nameserver 192.168.1.1 #指定经路由器上指定的DNS服务器 5.重新启动网络配置 [root@centos ~]#service network restart 6.重启 [root@centos ~]#shutdown -r now 7.查看当前IP设置 [root@centos ~]# ifconfig 8.测试是否连接外网 [root@centos ~]# ping www.163.com ======================================================================================= vi /etc/ssh/sshd_config 增加port 2800 systemctl restart sshd firewall-cmd --zone=public --add-port=2800/tcp --permanent 打开firewall商品 firewall-cmd --query-port=2800/tcp 查看2800端口打开情况 打开SELINUX端口 要用到semanage工具,如果没有安装可以 yum provides /usr/sbin/semanage yum whatprovides /usr/sbin/semanage yum -y install policycoreutils-python 进行安装 安装完成后打开2800端口 semanage port -a -t ssh_port_t -p tcp 2800 查看2800端口是否打开 semanage port -l | grep ssh 如果一切正常,SSH客户端用2800端口进行登录,如果能正常登录, vi /etc/ssh/sshd_config 删掉22端口 systemctl restart sshd 如果不能正常登录,再重新排查操作步骤 ====================================================================================== 最近在CentOS Linux下安装配置 ORACLE 数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下防火墙。 偶然看到防火墙的配置操作说明,感觉不错。执行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然后选择”运行工具”按钮,出现防火墙配置界面,将”安全级别”设为”禁用”,然后选择”确定”即可. 或者用命令: #/sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp –dport 22 -j ACCEPT #/etc/rc.d/init.d/iptables save 这样重启计算机后,防火墙默认已经开放了80和22端口 这里应该也可以不重启计算机: #/etc/init.d/iptables restart 防火墙的关闭,关闭其服务即可: 查看防火墙信息: #/etc/init.d/iptables status 关闭防火墙服务: #/etc/init.d/iptables stop 永久关闭?不知道怎么个永久法: #chkconfig –level 35 iptables off 看了好几个页面内容都有错,下面是正确方法: #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT 然后保存: #/etc/rc.d/init.d/iptables save 再查看是否已经有了: [root@vcentos ~]# /etc/init.d/iptables status Table: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 服务器遭受到大量的大量SYN_RECV,80端号占死,网站打不开 没有硬防 有什么办法可以解决吗 1 sysctl -w net.ipv4.tcp_syncookies=1 #启用使用syncookies sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重试次数 sysctl -w net.ipv4.tcp_syn_retries=1 #降低syn重试次数 sysctl -w net.ipv4.tcp_max_syn_backlog=6000 #最大半连接数 sysctl -w net.ipv4.conf.all.send_redirects=0 sysctl -w net.ipv4.conf.all.accept_redirects=0 #不接受重定向的icmp數據包 sysctl -w net.ipv4.tcp_fin_timeout=30 sysctl -w net.ipv4.tcp_keepalive_time=60 sysctl -w net.ipv4.tcp_window_scaling=1 sysctl -w net.ipv4.icmp_echo_ignore_all=1 #禁止ICMP sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 #ICMP禁止广播 2.限制单位时间内连接数 如 iptables -N syn-flood iptables -A FORWARD -p tcp --syn -j syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP iptables -A syn-flood -j DROP iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP 3 如果还是不行, iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 30 -j REJECT iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEP 如攻击过来的流量大于你的服务器的流量,那就没有什么办法了,如果流量不大,以上方法,可以暂时保证你的80可以访问 如果你的内核已经支持iptables connlimit可以使用,iptables 设定部份,也可以使用 iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 5 -j DROP 或 iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j REJECT 对付SYN FLOOD的话,真正起作用的是: sysctl -w net.ipv4.tcp_syncookies=1 #启用使用syncookies sysctl -w net.ipv4.tcp_synack_retries=1 #降低syn重试次数 其他IPTABLES的限制速度功能不能用来对付SYN FLOOD的(不能阻止拒绝服务,但是确实可以防止服务器CRASH)。 ======================================================================================== 以上内容参考文献 总结了上述仁兄的经验,得出结论——网络基础知识非常重要; 经过深入研究,本文标题应该改成,服务器重新安装无GUI的Centos 7操作系统后,应当做哪些工作,使得同局域网内的另外一台PC机可以通过ssh命令与它连接。
- 1.配置正确的ip地址
- 2.配置正确的网关地址(路由器地址)
- 3.配置正确的子网掩码
- 4.开启22号端口iptables -I INPUT -p tcp –dport 22 -j ACCEPT
- 5.切记不要修改ifconfig lo这个虚拟网络接口文件里面的内容
以下是运行结果: Connecting to 192.168.2.208:22... Connection established. To escape to local shell,press 'Ctrl+Alt+]'. Last login: Wed Sep 7 17:55:42 2016 [root@localhost ~]# |