ipv4

C - Linux - kernel module - TCP header

£可爱£侵袭症+ 提交于 2019-11-30 15:48:10
I'm trying to create linux kernel module, that will inspect incoming packets. At the moment, I'm in process of extracting TCP header of packet and reading source and destination port -> However I'm getting incorrect values. I have hook function: unsigned int hook_func(unsigned int hooknum, struct sk_buff *skb, const struct net_device *in, const struct net_device *out, int (*okfn)(struct sk_buff *)) { struct iphdr *ipp = (struct iphdr *)skb_network_header(skb); struct tcphdr *hdr; /* Using this to filter data from another machine */ unsigned long ok_ip = 2396891328; /* Some problem, empty

Apache 监听 ipv4

我的梦境 提交于 2019-11-30 14:44:58
查看端口信息 ifconfig 发现只有 ipv6 的 80 端口被监听,ipv4 的 80 端口没有被监听 因此通过 ipv4 无法访问 tcp6 0 0 :::80 :::* LISTEN 22160/httpd 开启监听 ipv4 地址 Apache 默认监听 ipv6 地址,通过以下命令使其监听 ipv4 地址 sysctl net.ipv6.conf.all.disable_ipv6=1 systemctl restart httpd 此时通过 ipv4 可以正常访问 来源: https://www.cnblogs.com/dbf-/p/11598300.html

Centos8 新功能记录笔记

三世轮回 提交于 2019-11-30 12:55:46
# 设置网卡的新方法 nmcli #列出当前活动的以太网卡 命令语法: nmcli connection modify < interface_name > ipv4 . address < ip / prefix > Note: 为了简化语句,在 nmcli 命令中,我们通常用 con 关键字替换 connection ,并用 mod 关键字替换 modify 。 # 修改网卡配置 nmcli con mod enp0s3 ipv4 . addresses 192.168 . x.x / 24 nmcli con mod enp0s3 ipv4 . gateway 192.168 . x.x nmcli con mod enp0s3 ipv4 . method manual nmcli con mod enp0s3 ipv4 . dns "x.x.x.x" nmcli con up ens160 # 设置完毕后,自动生成如下信息 # 测试下设置是否成功 ip add show ens160 来源: https://www.cnblogs.com/Cong0ks/p/11589752.html

linux系统优化项

半腔热情 提交于 2019-11-30 12:21:39
linux新安装调优及安全设置: 1、关闭selinux 2、设定运行级别为3 3、精简开机自启动 4、linux系统安全最小原则申明 5、更改ssh服务器远程登陆配置 6、利用visudo命令控制用户对系统命令的使用权限 7、liux中文显示 8、设置linux服务器时间同步 9、历史记录数和登陆超时时间环境变量的设置 10、调整linux文件描述符的数量 11、linux内核参数优化 12、定时清理邮件服务临时目录和垃圾文件 13、隐藏linux版本信息 14、锁定关键系统文件,防止篡改 15、清除多余账号 16、升级具有典型漏洞的软件服务版本 17、禁止系统被ping 详细解释: 关闭selinux: 可以使用命令setenforce 0 (这个命令只是临时关闭)如果想要永久关闭需要更改配置文件 使用sed命令 (sed -i ”/SELINUX/s/enforcing/disabled/g /etc/selinux/conf“),更改后需要重新启动系统。 2、设定运行级别为3 首先查看系统当前的运行级别 使用runlevel命令查看linux的运行级别,也可以查看/etc/inittab文件,若有下面两项就无需修改*这个一般不会怎么更改 # multi-user.target: analogous to runlevel 3 # graphical.target:

Ubuntu18.04 安装谷歌BBR

百般思念 提交于 2019-11-30 12:13:49
说明:Ubuntu 18.04前几天发布了,改变挺大的,内核也直接升到了正式版4.15,而BBR内核要求为4.9,也就是说满足了,所以我们不需要换内核就可以很快的开启BBR,这里简单说下方法。 提示:Ubuntu 18.10依然可以用该方法开启BBR,而对于19.04、貌似官方直接给你开启了BBR,不需要重复开启了。 BBR的安装:      wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x bbr.sh ./bbr.sh 如果内核版本不符合要求会提示换内核,跟着提示走就好了,安装好之后就可以重启机器 方法 1、修改系统变量 echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf 2、保存生效 sysctl -p 3、查看内核是否已开启BBR sysctl net.ipv4.tcp_available_congestion_control 显示以下即已开启: # sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp

linux 下Time_wait过多问题解决

和自甴很熟 提交于 2019-11-30 10:17:16
问题起因: 自己开发了一个服务器和客户端,通过短连接的方式来进行通讯,由于过于频繁的创建连接,导致系统连接数量被占用,不能及时释放。看了一下18888,当时吓到了。 现象: 1、外部机器不能正常连接SSH 2、内向外不能够正常的ping通过,域名也不能正常解析。 问题排查: 通过 netstat -anp | grep TIME_WAIT | wc -l 命令查看数量,发现TIME_WAIT的连接数量超过了18000太夸张了。 1、初步怀疑是程序没有关闭连接,codereview了两遍,发现,已经正常关闭。 2、网上看TIME_WAIT产生的原因,可能是因为服务器主动关闭连接导致TIME_WAIT产生。 3、查找TIME_WAIT解决方案: 发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决, vi /etc/sysctl.conf 编辑文件,加入以下内容: net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_fin_timeout = 30 然后执行 /sbin/sysctl -p 让参数生效。 经过配置后,暂时的问题是解决了,再查看TIME_WAIT数量快速下降。 关键命令: 1、netstat -n | awk '/^tcp

How to test iOS app on supporting IPv6? Apple rejected app as it is not IPv6 compatible

家住魔仙堡 提交于 2019-11-30 04:57:20
have apps, built 2015 and 2014. How can I test them for IPv6? If my apps doesn't support IPv6, what should I do? My apps are using AFNetworking and Alamofire. I'm connecting mostly to domains ( Ex. api.example.com/v1/...). Only 1 app use IP: (ex: 12.12.12.12:3000/api/v1/...). This solution only works if you have an ethernet connection. For creating an iPV6 NAT64 wifi network, follow these steps Step 1 : Open system preferences Step 2 : Open Sharing Step 3 : Click on internet sharing Step 4 : Click Wifi in the ports while pressing option(ALT) key. A Create NAT64 Network checkbox will be

LVS+DR模式+keepalived

走远了吗. 提交于 2019-11-30 04:14:29
LVS+DR模式+keepalived 上一篇博客我们说了三种模式,NAT,TUN,DR这次是DR+Keepalived 先了解什么是Keepalived keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能 VRRP,虚拟路由冗杂协议,是针对路由器的一种备份解决方案 keepalived可以实现多机热备,每个热备组可有多台服务器,最常用的就是双机热备 双击热备的故障切换是由虚拟IP地址的飘逸来实现,适用于各种应用服务器 LVS-DR的ARP问题 在LVS-DR的负载均衡群集中,负载均衡器与节点服务器都要配置相同的VIP地址 在局域网中具有相同的IP地址,势必会造成服务器APR通信的紊乱 当一个ARP广播发送到LVS-DR集群时,因为负载均衡器和节点服务器都是连接到相同的网络上,它们都会接收到ARP广播 此时只有前端的负载均衡器进行响应。其他节点服务器不应该响应ARP广播 LVS-DR的ARP问题解决方案 对节点服务器进行处理,使其不响应针对VIP的ARP请求 使用虚接口lo:0承载VIP地址 设置内核参数arp_ignore=1:系统只响应目的IP为本地IP的ARP请求 下面我们来做实验 实验规划 我们需要五台虚拟机 DR1 主服务器 192.168.100.201 DR4 备份服务器 192.168.100.202 web 5 192.168.100

REMOTE_ADDR and IPv6 in PHP

隐身守侯 提交于 2019-11-30 00:43:46
问题 Is it safe to assume that $_SERVER['REMOTE_ADDR'] always returns a IPv4 address ? Thanks! 回答1: The REMOTE_ADDR key is set by the web server, not PHP. If the web server listens on v6 and the user connects that way, it'll be a v6 address 回答2: I have seen a bad IP address reported to php in REMOTE_ADDR from Apache 2. It was '183.60..244.37'. So the answer to your question, "Is it safe to assume...", I think is definitely no , REMOTE_ADDR can not be trusted. As far as I know it is reported to PHP

HttpServletRequest.getRemoteAddr() in Tomcat returns IPv6 formatted IP address

六眼飞鱼酱① 提交于 2019-11-29 23:34:29
问题 HttpServletRequest.getRemoteAddr() in Tomcat returns IPv6 formatted IP address, but I would like to configure it that returns IPv4. I access the servlet via 'localhost'. If I access it via '127.0.0.1' then returns IPv4 formatted IP address (see this answer). Environment: Windows 7 x64 Tomcat 6.0.35-windows-x64 My LAN connection properties: IPv6 is checked off , but it doesn't work neither if I check it on. 回答1: try adding this parameter -Djava.net.preferIPv4Stack=true to your tomcat startup